我正在尝试使用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
方法的任何有用示例,因此我可能在这里走错了路。
答案 0 :(得分:6)
TransparentChroma方法使低色和高色之间的所有像素都透明。但是您的输出图像是没有Alpha通道的JPEG。您必须将图像保存为PNG或其他支持透明度的格式才能查看正确的图像。
您还必须使用低值和高值进行更多操作,因为这是输出图像: