10

私は16x16の透明なpngを持っていて、そうしました

convert -rotate -45 a.png b.png

これはそれを回転させ、サイズが22x22の新しい画像b.pngを作成しました。これを背景に対して使用すると、元の画像(16x16)が下の背景で回転して表示されますが、新しい塗りつぶしは白い背景で表示されます。

新しい詰め物も透明にするにはどうすればよいですか?

それが不可能な場合、新しい画像のすべての背景を 1 色にする方法を教えてください。

4

5 に答える 5

13

-background オプションを使用して、アルファをゼロに設定した透明色を指定します。

convert -background 'rgba(0,0,0,0)' -rotate 45 a.png b.png

于 2011-04-03T07:39:03.727 に答える
7

次のオプションも使用できます。

  -background none
于 2012-07-10T01:59:04.900 に答える
0
convert -rotate 66 -background none c:\input.png c:\output.png

私のためにうまくいく

于 2012-08-29T09:42:10.907 に答える
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);                    
}
于 2015-01-21T08:29:51.487 に答える