很抱歉,目前没有可用的文档的扩展版本。我只创建了几个示例并将它们记录在网站上。我没有时间/团队来创建更多更好的文档。但我可以帮你回答这两个问题。
convert -flatten image.png noTransparency.png
这实际上应该这样写:
convert image.png -flatten noTransparency.png
首先image.png
是读取,然后将其展平并写入noTransparency.png
. 但是在 ImageMagick 中,它“秘密地”添加了另一个与它具有相同大小的图像image.png
并使用它来展平image.png
. 你可以在 Magick.NET 中这样写:
using (MagickImageCollection images = new MagickImageCollection())
{
MagickImage imagePng = new MagickImage("image.png");
// 'add background'
MagickImage background = new MagickImage(imagePng.BackgroundColor, imagePng.Width, imagePng.Height);
images.Add(background);
// image.png
images.Add(imagePng);
// +flatten
using (MagickImage result = images.Flatten())
{
// noTransparency.png
result.Write("noTransparency.png");
}
}
但你也可以这样写:
using (MagickImage imagePng = new MagickImage("image.png"))
{
imagePng.ColorAlpha(imagePngg.BackgroundColor);
result.Write("noTransparency.png");
}
您的其他示例无法使用当前版本(7.0.0.0016)翻译,因为尚不支持 +transparent。
convert original.png +transparent "#E6B15A" singleColor.png1
在下一个版本中,您将能够做到这一点:
using (MagickImage original = new MagickImage("original.png"))
{
original.InverseTransparent(new MagickColor("#E6B15A"));
original.Write("singleColor.png");
}
但是你现在可以这样做:
using (MagickImage original = new MagickImage("original.png"))
{
original.InverseOpaque(new MagickColor("#E6B15A"), MagickColor.Transparent);
original.Write("singleColor.png");
}
您可以随时在这里寻求更多帮助:https ://magick.codeplex.com/discussions 。