【发布时间】:2020-07-01 18:34:30
【问题描述】:
我的目标是在任何图片上创建一个软边框,其中边缘变为 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% 透明,以便在网络上使用图像时图像的边缘变得不可见?
【问题讨论】:
标签: c# imagemagick.net