0
私は2つのビットマップを持っていますが、Graphics
またはMagick.net
を使用すると、目的の効果が得られません。透明なコンポジットビットマップ
グラフィックスは最も近い効果と最速を与えましたが、透明度は台無しに見えます。
&
しかし、私が手:私は組み合わせたい
using (Graphics gfcs = Graphics.FromImage(spiral))
{
Point placement = new Point(19,19);
gfcs.DrawImage(astronaut, placement);
}
周辺ソース:
public static void generateGIF()
{
int smileyID = 71;
int goldBorder = 1;
List<Bitmap> images = new List<Bitmap>();
Bitmap aura = new Bitmap(Image.FromFile("1511_Player_Aura.png"));
Bitmap smilies = new Bitmap(Image.FromFile("1559_items.ItemManager_smiliesBM.png"));
Bitmap smiley = new Bitmap(26, 26);
for (int y = 0; y < 26; y++)
{
for (int x = 0; x < 26; x++)
{
smiley.SetPixel(x, y, smilies.GetPixel(smileyID * 26 + x, goldBorder * 26 + y));
}
}
int i = 0;
for (int j = 9; j < 15; j++)
{
Bitmap tmp = new Bitmap(64, 64);
for (int y = 0; y < 64; y++)
{
for (int x = 0; x < 64; x++)
{
tmp.SetPixel(x * zoom, y * zoom, aura.GetPixel(i * 64 + x, j * 64 + y));
using (Graphics gfcs = Graphics.FromImage(tmp)) //this ---v
{
smiley.PixelFormat = PixelFormat.
Point placement = new Point(19, 19);
gfcs.DrawImage(smiley, placement);
}
}
}
// ^--- should be here
images.Add(tmp);
tmp.Save($"{j}.png");
}
//GIF stuff
}
宇宙飛行士Imageに正しいPixelFormatを使用していることを確認していますか? – Enfyve
ちょっとした注意: 'gfcs.Dispose()'を明示的に呼び出す必要はありません。これはすでに 'using'ブロックの最後に呼び出されます(これは' using'の全体的な点です)。 – itsme86
@ Night5h4d3私はそれに何を使いたいですか? – Skylark