WP7将ASCII字符串转换为图像

时间:2010-11-05 19:30:40

标签: silverlight windows-phone-7

我试图在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文件。

1 个答案:

答案 0 :(得分:3)

我怀疑你真正想要做的是: -

byte[] imageBytes = Convert.FromBase64String(imageString);

然而拉塞是对的。为什么你想要这样做?只需将png作为内容添加到Xap即可。整体变得像: -

BitmapImage bitmapImage = new BitmapImage(new Uri("/Assets/yourfile.png", UriKind.Relative));

其中Assets是您在项目中创建的用于存储此类内容的文件夹。