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[] 互转
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近用到的各种数据类型的转换方法,非原创,亲测可用,记录如下: 【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...