c# – 将图像转换为位图会使背景黑色
发布时间:2020-12-15 03:47:07 所属栏目:百科 来源:网络整理
导读:我需要将图像转换为位图. 最初,gif以字节读取,然后转换为图像. 但是,当我尝试将图像转换为位图时,我的图片框中显示的图形在以前是黑色的背景. 这是代码: var image = (System.Drawing.Image)value; // Winforms Image we want to get the WPF Image from...
我需要将图像转换为位图.
最初,gif以字节读取,然后转换为图像. 但是,当我尝试将图像转换为位图时,我的图片框中显示的图形在以前是黑色的背景. 这是代码: var image = (System.Drawing.Image)value; // Winforms Image we want to get the WPF Image from... var bitmap = new System.Windows.Media.Imaging.BitmapImage(); bitmap.BeginInit(); MemoryStream memoryStream = new MemoryStream(); // Save to a memory stream... image.Save(memoryStream,ImageFormat.Bmp); // Rewind the stream... memoryStream.Seek(0,System.IO.SeekOrigin.Begin); bitmap.StreamSource = memoryStream; bitmap.EndInit(); return bitmap; 有些人可以解释为什么背景会变黑,以及如何阻止这样做. 谢谢 解决方法
不要保存为位图文件.文件格式不支持透明度,因此图像将不会保留透明度.
您可以使用PNG文件格式.这将保持透明度. 如果您真的需要使用位图文件格式,则必须先使其不透明.创建一个具有相同大小的新位图,使用Graphics.FromImage方法获取图形对象来绘制图像,使用Clear方法填充所需的背景颜色,使用DrawImage方法绘制图像顶部的背景,然后保存该位图. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |