1

我正在尝试使用 Magick.Net 删除此图像的绿色背景,但我有点卡住了。

我尝试了以下方法:

var image = new MagickImage("test.jpg");
image.ColorFuzz = new Percentage(20);
image.TransparentChroma(new MagickColor("#0F562A"), new MagickColor("#43B788"));
image.Write("test_result.jpg");

test.jpg但我看不出和之间有任何区别test_result.jpg。我为低和高选择的颜色可能不是最佳选择,但我的策略是使用颜色选择器从图像中选择“浅绿色”和“深绿色”(缺乏其他知识)。

我找不到任何有关如何使用该TransparentChroma方法的有用示例,因此我可能在这里走错了路。

测试图像

4

1 回答 1

6

TransparentChroma 方法使低颜色和高颜色之间的所有像素透明。但是您的输出图像是没有 Alpha 通道的 JPEG。您必须将图像保存为 PNG 或其他支持透明度的格式才能看到正确的图像。

您还必须对低值和高值进行更多操作,因为这是输出图像: 在此处输入图像描述

于 2014-07-14T21:30:48.690 回答