Csharp/C#教程:将System.Windows.Media.ImageSource转换为System.Drawing.Bitmap分享


将System.Windows.Media.ImageSource转换为System.Drawing.Bitmap

如何将System.Windows.Media.ImageSource转换为C#中的System.Drawing.Bitmap?

它的旧OP,但它仍然可以为其他人带来便利,因为它需要一些时间来找到没有DLL互操作或剪贴板黑客的清洁解决方案。

这对我有用,你可以使用pngencoder在保存到文件或rtf流之前剪切图像大小

private System.Drawing.Image ImageWpfToGDI(System.Windows.Media.ImageSource image) { MemoryStream ms = new MemoryStream(); var encoder = new System.Windows.Media.Imaging.BmpBitmapEncoder(); encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(image as System.Windows.Media.Imaging.BitmapSource)); encoder.Save(ms); ms.Flush(); return System.Drawing.Image.FromStream(ms); } 

请参阅如何在WINFORMS中使用IMAGESOURCE(NO HANDLER)作为SYSTEM.DRAWING.BITMAP(HBITMAP) :

如何轻松地将WinForms System.Drawing.Bitmap转换为您从本文中学到的WPF ImageSource。 今天,我将解释如何做到这一点。 实际上,他所要做的就是从BitmapSource中提取处理程序,但是,这种方法不受支持,因此我们唯一能做的就是将BitmapSource(或BitmapFrame)的像素复制到字节数组中,然后将它们复制到指针中。 HBITMAP。

上述就是C#学习教程:将System.Windows.Media.ImageSource转换为System.Drawing.Bitmap分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/954025.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

精彩推荐