私は16x16の透明なpngを持っていて、そうしました
convert -rotate -45 a.png b.png
これはそれを回転させ、サイズが22x22の新しい画像b.pngを作成しました。これを背景に対して使用すると、元の画像(16x16)が下の背景で回転して表示されますが、新しい塗りつぶしは白い背景で表示されます。
新しい詰め物も透明にするにはどうすればよいですか?
それが不可能な場合、新しい画像のすべての背景を 1 色にする方法を教えてください。
私は16x16の透明なpngを持っていて、そうしました
convert -rotate -45 a.png b.png
これはそれを回転させ、サイズが22x22の新しい画像b.pngを作成しました。これを背景に対して使用すると、元の画像(16x16)が下の背景で回転して表示されますが、新しい塗りつぶしは白い背景で表示されます。
新しい詰め物も透明にするにはどうすればよいですか?
それが不可能な場合、新しい画像のすべての背景を 1 色にする方法を教えてください。
-background オプションを使用して、アルファをゼロに設定した透明色を指定します。
convert -background 'rgba(0,0,0,0)' -rotate 45 a.png b.png
次のオプションも使用できます。
-background none
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);
}