将图像转换为字节Windows Phone后,字节大小不同

时间:2014-03-06 03:41:11

标签: c# image windows-phone byte

我已将字节更改为base64string并获取字符串长度:80,000。

var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
var base64 = System.Convert.ToBase64String(result);

上面的代码,给我字符串长度:80,0000

但是我将字节转换为图像后,将图像转换为字节。然后将字节更改为base64string,我得到字符串长度:170,000。

var memoryStream = new MemoryStream();
e.ChosenPhoto.CopyTo(memoryStream);
byte[] result = memoryStream.ToArray();
var base64 = System.Convert.ToBase64String(result);


Image myImage = new Image();
BitmapImage bmp = new BitmapImage();
bmp.SetSource(e.ChosenPhoto);
myImage.Source = bmp;

BitmapImage bm = img.Source as BitmapImage;
base64 = System.Convert.ToBase64String(image2byte(bm));

和image2byte的代码

private byte[] image2byte(BitmapImage myimage)
{
   MemoryStream ms = new MemoryStream();
   WriteableBitmap wb = new WriteableBitmap(myimage);
   wb.SaveJpeg(ms, myimage.PixelWidth, myimage.PixelHeight, 0, 100);
   return ms.ToArray();
}

上面的代码给出字符串长度base64:170,000

有谁知道为什么会发生这种情况? 我在Windows Phone上使用了这种方法。

0 个答案:

没有答案