c# - 如何将 Image 类型转换为 BitmapImage 类型?

标签 c# .net image image-processing

有谁知道如何从图像创建位图图像?这是我正在使用的代码:

MemoryStream memStream = new MemoryStream(bytes);
Image img = Image.FromStream(memStream);

现在我可以访问内存中的这张图片了。问题是我需要将其转换为类型 BitmapImage 以便在我的解决方案中使用它。

注意:我需要将其转换为类型BitmapImage,而不是类型Bitmap。我一直无法弄清楚,因为 BitmapImage 类型接受一个 Uri 作为它的构造函数。

最佳答案

Bitmap      img   = (Bitmap) Image.FromStream(memStream);
BitmapImage bmImg = new BitmapImage();

using (MemoryStream memStream2 = new MemoryStream()) 
{
   img.Save(memStream2, System.Drawing.Imaging.ImageFormat.Png);
   memStream2.Position = 0;

   bmImg.BeginInit();
   bmImg.CacheOption = BitmapCacheOption.OnLoad;
   bmImg.UriSource = null;
   bmImg.StreamSource = memStream2;
   bmImg.EndInit();
}

关于c# - 如何将 Image 类型转换为 BitmapImage 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782913/

相关文章:

c# - 子进程和父进程之间共享值

c# - 如何附加到表达式

c# - 访问添加到 DNN 模块的用户控件的资源文件的正确方法?

.net - 如何确定特定类属于哪个程序集?

CSS Transforms - 为什么简单的旋转会使图像模糊?

c# - ASP.NET MVC 中的 session 超时警告

.net - 如何防止 Linq 添加 GUID,以便 SQL Server 可以执行此操作?

c# - 读取所有字节后 TcpListener 挂起

html - 不显示Base64/SVG HTML图像

java - 从图库中选取图像时出现 FileNotFoundException