我有以下..png文件

我想将它与Magick.NET转换成一个..pcx文件。我使用以下代码进行转换:
using System.Drawing;
using using ImageMagick;
using (var bitmap = (Bitmap) Bitmap.FromFile("ptOHf.png"))
using (var magickImage = new MagickImage(bitmap))
{
magickImage.Format = MagickFormat.Pcx;
magickImage.ColorType = ColorType.Palette;
magickImage.ColorSpace = ColorSpace.Gray;
magickImage.Write("C:\\somefile.pcx");
}这将产生以下结果:

使用的软件包:Magick.NET-Q8-任意7.0.1.500 (Net40)
发布于 2016-06-01 11:47:51
我不太会说.NET,Dirk (@dlemstra)就是这么说的人,但问题是,所有(白色)信息实际上都在alpha层,基本图像本身就是纯黑的,而ImageMagick已经正确地做到了这一点,因为PCX不能呈现透明度。
如果你像这样提取alpha层,你就会明白我的意思:
convert http://i.stack.imgur.com/ptOHf.png -alpha extract a.jpg

在命令行中,您将使用ImageMagick为alpha层设置-flatten帐户
convert http://i.stack.imgur.com/ptOHf.png -flatten result.pcx我不知道,但我想在.NET中,你会做这样的事情:
using (var magickImage = new MagickImage(bitmap))
{
magickImage.Flatten();
magickImage.Format = MagickFormat.Pcx;
magickImage.ColorType = ColorType.Palette;
magickImage.ColorSpace = ColorSpace.Gray;
}https://stackoverflow.com/questions/37567122
复制相似问题