0

色のリストがあり、そこからビットマップを作成しています。各色には、A、R、G、および B の特定の値があります。問題は、ビットマップを保存してビットマップ イメージ ファイルから読み込むと、(A) アルファのすべての値が自動的に 255 に変更されることです。

ビットマップを作成するためのコードは次のとおりです。

private Bitmap PaintImage(List<Color> colors, int width, int height)
{
    Bitmap bitmap = new Bitmap(width, height);
    int colorIndex = 0;

    for (int y = 0; y < height; y++)
    {
        for (int x = 0; x < width; x++)
        {
            bitmap.SetPixel(x, y, colors[colorIndex])
            colorIndex += 1;
        }
    }

    return bitmap;
}

ビットマップを保存するコードは次のとおりです。

bitmap.Save(path, ImageFormat.Bmp);

解決策: PNG 形式を使用して問題を解決しました。

4

0 に答える 0