Image 将字符串转换为图像
我正在尝试将字符串转换为173x173 png图像。这有可能吗?如果有,怎么可能?以后需要url在我的backtile上使用它 字符串可以包含字母、数字和“-./” 找到了类似的东西,但似乎根本不起作用:Image 将字符串转换为图像,image,windows-phone-7,converter,Image,Windows Phone 7,Converter,我正在尝试将字符串转换为173x173 png图像。这有可能吗?如果有,怎么可能?以后需要url在我的backtile上使用它 字符串可以包含字母、数字和“-./” 找到了类似的东西,但似乎根本不起作用: private Uri ToImage() { string imageString = ""; byte[] imageBytes = Convert.FromBase64String(imageString); System.Te
private Uri ToImage()
{
string imageString = "";
byte[] imageBytes = Convert.FromBase64String(imageString);
System.Text.Encoding.UTF8.GetBytes(imageString.ToCharArray(), 0, imageString.ToCharArray().Length - 1,
imageBytes, 0);
System.IO.MemoryStream ms = new System.IO.MemoryStream(imageBytes, 0, imageBytes.Length);
ms.Write(imageBytes, 0, imageBytes.Length);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.SetSource(ms);
return bitmapImage.UriSource;
}
要加载base64字符串的图像,可以使用它:
Image img;
byte[] fileBytes = Convert.FromBase64String(imageString);
using(MemoryStream ms = new MemoryStream())
{
ms.Write(fileBytes, 0, fileBytes.Length);
img = Image.FromStream(ms);
}
您可以将此图像保存在服务器上,并将文件的URL发送到客户端或“动态”发送图像:
在这种情况下,图像url是页面url,例如:
img src="getBacktile.aspx?id=XXX"
只需删除/注释公共抽象int GetBytes的行代码(char[]chars,int charIndex,int charCount,byte[]bytes,int byteIndex)强>
System.Text.Encoding.UTF8.GetBytes(imageString.ToCharArray(), 0, imageString.ToCharArray().Length - 1,
imageBytes, 0);
这对我有用
更重要的是,使用行代码进行转换
Image img;
byte[] fileBytes = Convert.FromBase64String(imageString);
using(MemoryStream ms = new MemoryStream())
{
ms.Write(fileBytes, 0, fileBytes.Length);
img = Image.FromStream(ms);
}
不要工作。因为在Windows Phone 7中不提供方法Image.FromStream(ms)有人像我一样理解此代码吗?:)这是你想要的吗?我不知道他是在一个字符串中有一个编码图像,还是在试图将一个字符串写入一个平铺图像。是哪一个?我尝试将字符串转换为图像,然后返回图像的url。我不确定这是否回答了他试图实现的目标。不过,老实说,我不确定这里的目标是什么。无论如何,考虑到反墙,有一件事是PNG通常不是一个好的选择,因为尺寸可以超过瓦片图像的最大尺寸。我通常使用JPG,因为在手机上,格式的任何损失通常都会被较小的显示尺寸掩盖。JPG不支持透明度,这就是问题所在。这是错误的。Windows Phone没有Image.FromStream方法。
Image img;
byte[] fileBytes = Convert.FromBase64String(imageString);
using(MemoryStream ms = new MemoryStream())
{
ms.Write(fileBytes, 0, fileBytes.Length);
img = Image.FromStream(ms);
}