无论颜色空间如何,MagickImage都会创建相同的颜色

时间:2017-01-31 14:25:29

标签: .net imagemagick imagemagick-convert

我正在尝试将任何颜色空间中的任何图像的边框颜色设置为白色。现在我正在做类似的事情,

if (image.ColorSpace == ColorSpace.CMYK)
  image.BorderColor = new MagickColor(0, 0, 0, 0, 0); // Set border color as white (CMYK)
else
  image.BorderColor = new MagickColor("#FFFFFF"); // Set border color as white (RGB)

但这似乎并不全面,因为在这种情况下我们需要查看其他颜色空间并看到它们也适合这一点。

我遇到一个问题,其中一个图像的颜色空间为Lab,上面的代码产生红色边框。所以我正在寻找一种简单的方法。

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

感谢@emcconville,我能够为此获得更简单的解决方案。

MagickColor类接受X11颜色名称作为参数,因此我们可以使用

实现相同的目的
image.BorderColor = new MagickColor("WHITE");

无论ColorSpace如何,都将边框颜色设置为白色。

对于那些想知道X11颜色名称是什么的人,https://en.wikipedia.org/wiki/X11_color_names