我正在尝试将我的字符串转换为173x173 png-image。这是不可能的,如果是的话:怎么样?之后需要网址才能在我的背板上使用它。
字符串可以包含字母,数字和“-./"
找到类似的东西,但似乎根本不起作用:
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;
}
答案 0 :(得分:1)
要从base64字符串加载图像,您可以使用它:
Image img;
byte[] fileBytes = Convert.FromBase64String(imageString);
using(MemoryStream ms = new MemoryStream())
{
ms.Write(fileBytes, 0, fileBytes.Length);
img = Image.FromStream(ms);
}
您可以将此图像保存在服务器上,并将文件的URL发送到客户端或“即时”发送图像:
Response.ContentType = "image/png";
img.Save(Response.OutputStream, ImageFormat.Png);
在这种情况下,图片网址是页面网址,例如:
img src="getBacktile.aspx?id=XXX"
答案 1 :(得分:0)
只需删除/注释 public abstract 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)。