我想用Magick.NET转换为 .pcx -file。我使用以下代码进行转换:
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-AnyCPU 7.0.1.500(Net40)
答案 0 :(得分:2)
我真的不会说.NET
,Dirk(@dlemstra)就是那个人,但问题是所有(白色)信息实际上都在alpha层和基本图像本身只是纯黑色,ImageMagick正确地完成了这项工作,因为PCX
无法呈现透明度。
如果你像这样提取alpha层,你可以看到我的意思:
convert http://i.stack.imgur.com/ptOHf.png -alpha extract a.jpg
在命令行中,您可以使用-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;
}