我在.Net中使用System.Drawing.Image进行从png到jpeg的简单转换.我基本上只使用这两行代码:
Image img = Image.FromFile(filename);
img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)
它工作正常,除了png文件由于alpha通道包含透明度.在这种情况下,转换的jpeg具有黑色背景.有没有办法让背景变白?
我需要将图像转换为位图.
最初,gif以字节形式读入,然后转换为Image.
但是,当我尝试将图像转换为位图时,我的图片框中显示的图形在以前是白色时具有黑色背景.
这是代码:
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;
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么背景会变黑以及我如何阻止它这样做.
谢谢