0

これまでに System.Drawing を使用したことがないので、これは私が見つけてまとめた大雑把なコードであるため、ご容赦ください。

上部が白で下部が別の色の画像を作成しようとしています(最終的に画像を追加します)

私のコード:

        Bitmap bmp = new Bitmap(800, 800, PixelFormat.Format32bppArgb);
        using (Graphics gfx = Graphics.FromImage((Image)bmp))
        {
            gfx.FillRectangle(Brushes.Transparent, new RectangleF(0, 0, bmp.Width, bmp.Height));
            gfx.FillRectangle(Brushes.White, 0, 0, 800, 600);
            gfx.FillRectangle(new SolidBrush(Color.FromArgb(21, 93, 127)), 600, 800, 0, 800);
        }
        bmp.Save("C:\test.jpg", ImageFormat.Bmp);

ただし、私の結果は上が白、下が黒です...何が間違っているのかわかりません。

私も試してみましたgfx.FillRectangle(new SolidBrush(System.Drawing.ColorTranslator.FromHtml("#155d7f")), 600, 800, 0, 800);

4

2 に答える 2

3
gfx.FillRectangle(new SolidBrush(Color.FromArgb(21, 93, 127)), 600, 800, 0, 800);

MSDN hereからわかるように、合計幅 0px、高さ 800px で、座標 600,800 から長方形を描画しています。色が残っているため、黒く表示されます。

私はあなたがするつもりだったと思います:

gfx.FillRectangle(new SolidBrush(Color.FromArgb(21, 93, 127)), 0, 600, 800, 200);
于 2013-04-26T18:01:20.033 に答える
0

長方形の正しい座標を渡す必要があります。詳細については、こちらを参照してください。

gfx.FillRectangle(new SolidBrush(Color.FromArgb(21, 93, 127)), 0, 600, 800, 200);
于 2013-04-26T18:01:27.643 に答える