在Magick.NET中调整透明度图像时,我遇到了一些奇怪的问题。我正在使用Q16-AnyCPU。
我正在将100px图像调整为400px。
MagickImage image = new MagickImage("test.png");
image.Resize(400, 400);
image.Write("test_resized.png");
我尝试了image.FilterType
和image.Interpolate
的多种组合,没有任何好结果。
只有当我使用image.AdaptiveResize(400, 400);
时,它看起来会更好,但不如预期的那样。我要调整大小的最终图像要大得多,AdaptiveResize
非常慢。
当我通过image.Alpha(AlphaOption.Off);
禁用Alpha时,我看起来很好,但我想保留alpha。
源图像(白色区域是透明的):
我得到了什么:
我想要的是什么:
答案 0 :(得分:0)
我必须设置VirtuaPixelMethod
,谢谢提示:
MagickImage image = new MagickImage("test.png");
image.VirtualPixelMethod = VirtualPixelMethod.Transparent;
image.Resize(400, 400);
image.Write("test_resized.png");