我有一个16x16的透明png图片,我已经
convert -rotate -45 a.png b.png
我将其旋转并创建了一个新图像b.png,大小为22x22,当我将其用于背景时,显示原始图像(16x16)与底层背景旋转,但新的填充出现了白色背景。
如何使新填充也透明呢?
如果不可能,那么如何让新图像的整个背景都是同一种颜色?
我有一个16x16的透明png图片,我已经
convert -rotate -45 a.png b.png
我将其旋转并创建了一个新图像b.png,大小为22x22,当我将其用于背景时,显示原始图像(16x16)与底层背景旋转,但新的填充出现了白色背景。
如何使新填充也透明呢?
如果不可能,那么如何让新图像的整个背景都是同一种颜色?
convert -background 'rgba(0,0,0,0)' -rotate 45 a.png b.png
你也可以使用以下选项:
-background none
-background none'可能会出现错误,例如
convert: unable to access configure file colors.xml' @ warning/configure.c/GetConfigureOptions/589.
。这是因为ImageMagick找不到配置文件所在的位置。如果遇到这种情况,您可以改用-background 'rgba(0,0,0,0)'
。 - Alan W. Smith我也遇到了同样的问题,但是我使用的命令如下:
convert a.png -rotate 45 -background transparent b.png
需要做的事情:
convert -rotate 45 -background transparent a.png b.png
convert -rotate 66 -background none c:\input.png c:\output.png
对我来说很有效
我使用了C#来进行旋转
using (MagickImage mimg = new MagickImage(path))
{
mimg.BackgroundColor = MagickColor.Transparent;
mimg.Alpha(AlphaOption.Background);
mimg.AlphaColor = new MagickColor(System.Drawing.Color.White);
mimg.FillColor = new MagickColor(255, 255, 255, 0);
mimg.Rotate(degree);
}
convert -background 'rgba(0,0,0,0)' -rotate 45 a.png b.png
。 - Crazenezz