如何在 Windows Phone 8 中将 BitmapImage 更改为 ConvertToByte
How to change BitmapImage to ConvertToByte in Windows Phone 8
BitmapImage bm = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.RelativeOrAbsolute));
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap(bm);
System.Windows.Media.Imaging.Extensions.SaveJpeg(btmMap, ms, bm.PixelWidth, bm.PixelHeight, 0, 100);
bm = null;
byte[] a = ms.ToArray();
}
我正在使用此代码,但显示错误我无法转换为 WriteableBitmap
。
你有一个错误,因为你没有真正下载图像。如果您在调试器中打开 BitmapImage
,我很确定您可以看到这里什么也没有。您可以使用 Image
强制 下载。我不知道这是否是一个很好的解决方案,但它是一个可行的解决方案。
Image image = new Image {Source = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.Relative))};
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap(image, null);
btmMap.SaveJpeg(ms, btmMap.PixelWidth, btmMap.PixelHeight, 0, 100);
byte[] a = ms.ToArray();
}
您可以使用以下代码将位图图像转换为字节数组
byte[] a = System.IO.File.ReadAllBytes("Assets\ToolKit.Content\RedIcon\arab-woman.jpg");
BitmapImage bm = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.RelativeOrAbsolute));
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap(bm);
System.Windows.Media.Imaging.Extensions.SaveJpeg(btmMap, ms, bm.PixelWidth, bm.PixelHeight, 0, 100);
bm = null;
byte[] a = ms.ToArray();
}
我正在使用此代码,但显示错误我无法转换为 WriteableBitmap
。
你有一个错误,因为你没有真正下载图像。如果您在调试器中打开 BitmapImage
,我很确定您可以看到这里什么也没有。您可以使用 Image
强制 下载。我不知道这是否是一个很好的解决方案,但它是一个可行的解决方案。
Image image = new Image {Source = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.Relative))};
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap btmMap = new WriteableBitmap(image, null);
btmMap.SaveJpeg(ms, btmMap.PixelWidth, btmMap.PixelHeight, 0, 100);
byte[] a = ms.ToArray();
}
您可以使用以下代码将位图图像转换为字节数组
byte[] a = System.IO.File.ReadAllBytes("Assets\ToolKit.Content\RedIcon\arab-woman.jpg");