我正在使用以下代码片段从图像中删除背景。
int[] bgColors = {203,255,240}
ImageMagick.MagickImage image = new ImageMagick.MagickImage("input.jpg")
ImageMagick.MagickImage combineMask= new ImageMagick.MagickImage("mask.jpg")
combineMask.Blur(7, 30);
image.Composite(combineMask, ImageMagick.CompositeOperator.CopyAlpha);
image.Settings.BackgroundColor = new ImageMagick.MagickColor(bgColors[0], bgColors[1], bgColors[2]);
image.Alpha(ImageMagick.AlphaOption.Remove);
它采用 MagickImageimage
和 MagickImagecombineMask
并输出image
如下链接的组合。
以前,除了纯白色背景(它提供)之外,我从不需要任何东西。现在,我希望能够设置背景的颜色。我首先将一组非(255,255,255)
颜色设置传递给image.Settings.BackgroundColor
. 这并没有完成任何事情。我一直在尝试调查 MagickImage 库(通过他们的 github,他们并没有非常完整的文档),但它仍然难以理解。
我怎样才能image.Alpha(ImageMagick.AlphaOption.Remove);
用背景颜色(或传递的颜色)替换已删除的部分,或者以其他方式更改背景颜色?