private static BitmapImage ConvertToBitmap(byte[] bytes)
{
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(bytes);
bitmapImage.EndInit();
return bitmapImage;
}
private byte[] ConvertToBytes(BitmapSource bitmapSource)
{
byte[] buffer = null;
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);
memoryStream.Position = 0;
if (memoryStream.Length > 0)
{
using (BinaryReader br = new BinaryReader(memoryStream))
{
buffer = br.ReadBytes((int)memoryStream.Length);
}
}
memoryStream.Close();
return buffer;
}
private static BitmapImage ConvertToBitmap(BitmapSource bitmapSource)
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
BitmapImage bImg = new BitmapImage();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);
memoryStream.Position = 0;
bImg.BeginInit();
bImg.StreamSource = memoryStream;
bImg.EndInit();
memoryStream.Close();
return bImg;
}
public static byte[] BitmapImageToBytes(BitmapImage bmp)
{
byte[] buffer = null;
try
{
Stream stream = bmp.StreamSource;
if (stream != null && stream.Length > 0)
{
//很重要,因为Position经常位于Stream的末尾,导致下面读取到的长度为0。
stream.Position = 0;
using (BinaryReader br = new BinaryReader(stream))
{
buffer = br.ReadBytes((int)stream.Length);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return buffer;
}
BitmapSource to byte[] 互转
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 最近用到的各种数据类型的转换方法,非原创,亲测可用,记录如下: 【File转byte数组、byte数组转File】...
- ///////////////////////////// short //////////////////...
- /*** 将int数值转换为占四个字节的Byte数组** @param intVal int 要转换的int...
- 效果 把某个字节或字节数组转换成字符串01的形式,一个字节用8个"0"或"1"字符表示。比如:byte(3) --...
- using Java NIO's ByteBuffer is very simple: Code1: output...