我有一个16x16透明的png而且我做了
convert -rotate -45 a.png b.png
旋转它并创建一个大小为22x22的新图像b.png,当我在背景中使用时显示原始图像(16x16)与底层背景一起旋转但是出现的新图像显示为白色背景。
如何使新填充物透明化?
如果那是不可能的,那么我怎么能让新图像的所有背景都是一种颜色呢?
答案 0 :(得分:7)
使用-background选项指定alpha设置为零的透明颜色:
convert -background 'rgba(0,0,0,0)' -rotate 45 a.png b.png
答案 1 :(得分:6)
您还可以使用以下选项:
-background none
答案 2 :(得分:0)
我也有同样的问题,但我正在使用这样的命令:
convert a.png -rotate 45 -background transparent b.png
需要:
convert -rotate 45 -background transparent a.png b.png
所以,这实际上有点帮助,谢谢:)
答案 3 :(得分:0)
convert -rotate 66 -background none c:\input.png c:\output.png
适合我
答案 4 :(得分:0)
我用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);
}