我的目标是在任何图像的边缘处创建一个软边框,使边缘变成100%透明的颜色(您不应该看到图像的边界)。
这是原始图像:
我找到了这个(http://www.imagemagick.org/Usage/thumbnails/#rounded):
convert thumbnail.gif -alpha set -virtual-pixel transparent \
-channel A -blur 0x8 -level 50%,100% +channel soft_edge.png
这就是我从中制作出来的内容:
var mImage = new MagickImage(image);
mImage.Format = MagickFormat.Png;
mImage.Alpha(AlphaOption.Set);
mImage.VirtualPixelMethod = VirtualPixelMethod.Transparent;
var form = mImage.Clone();
form.Level(new Percentage(50), new Percentage(100),Channels.Alpha);
form.Blur(100, 50,Channels.Alpha);
mImage.Composite(form);
mImage.Write(image);
那么得到的结果是这样的:
然而,你仍然可以清楚地看到边缘,因此它们不够透明。
当我将图像带入Paint.NET时,我发现边缘确实有些透明,但边缘可能只有50%透明度,而不是100%。
我尝试过调整级别百分比、模糊等等,但似乎无法使边缘正确模糊化。
我该如何使边缘变为100%透明,以便在网络上使用图像时,图像的边缘变得不可见?