我试图在WP7中将ASCII字符串转换为ImageSource:
string imageString = "%PNG image data here in ASCII"; byte[] imageBytes = new byte[sizeOfImage]; System.Text.Encoding.UTF8.GetBytes(imageString.ToCharArray(), 0, imageString.ToCharArray().Length - 1, imageBytes, 0); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); // Convert byte[] to Image ms.Write(imageBytes, 0, imageBytes.Length); BitmapImage bitmapImage = new BitmapImage(); bitmapImage.SetSource(ms);
但WP7中没有Encoding.ASCII,因此很明显在“Encoding.UTF”行上它失败了,因为WP7只有那个编码。有没有解决方法呢?
注意:ASCII字符串表示PNG文件。
答案 0 :(得分:3)
我怀疑你真正想要做的是: -
byte[] imageBytes = Convert.FromBase64String(imageString);
然而拉塞是对的。为什么你想要这样做?只需将png作为内容添加到Xap即可。整体变得像: -
BitmapImage bitmapImage = new BitmapImage(new Uri("/Assets/yourfile.png", UriKind.Relative));
其中Assets是您在项目中创建的用于存储此类内容的文件夹。