如何读取imageStream for imageBrush [英] how to read memoryStream for imageBrush
本文介绍了如何读取imageStream for imageBrush的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好!如何将图像保存到MemoryStream并从memorystream调用到Imagebrush!
这是代码
Hello! How to save image to MemoryStream and calling from memorystream to Imagebrush!
this is code
bit = new byte[listPictures.Count];
//bit = File.ReadAllBytes(listPictures[0]);
foreach (string tt in listPictures.ToArray())
{
Uri resourceUri = new Uri(tt, UriKind.Relative);
StreamResourceInfo stream_info = Application.GetResourceStream(resourceUri);
//MemoryStream ms = new MemoryStream();
//stream_info.Stream.CopyTo(ms);
//ms.ToArray();
using (MemoryStream ms = new MemoryStream(bit))
{
ms.Write(bit, 0, bit.Length);
encoder.Frames.Add(BitmapFrame.Create(stream_info.Stream));
//temp = BitmapFrame.Create(ms);
//encoder.Save(ms);
bit = ms.ToArray();
ms.Close();
}
}
推荐答案
我想要将内存流转换为imagebrush
I guess to want to convert memory stream to imagebrush
using (var stream = new MemoryStream(data))
{
var bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = stream;
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.EndInit();
bitmap.Freeze();
}
现在你可以将这个bitmapimage作为图像的来源。
BitmapCacheOption .OnLoad在这种情况下很重要,因为否则BitmapImage可能会在按需加载时尝试访问流,并且流可能已经关闭。
冻结位图是可选的但如果你确实冻结它,你可以在线程之间共享位图,否则是不可能的。
参考:http://stackoverflow.com/questions/5346727/convert-memory-stream-to-bitmapimage [ ^ ]
另请参阅此
https://social.msdn.microsoft.com/Forums/vstudio/en-US/8327dd31-2db1-4daa-a81c-aff60b63fee6/converting-an-imagebitmapimage-object-into-byte-array-and -vice-versa?forum = wpf [ ^ ]
这篇关于如何读取imageStream for imageBrush的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文