【Graphics】 塗りつぶしを行う
今回は塗りつぶしについて説明します。
以下のサンプルコードは矩形、楕円、扇形で塗りつぶしを行うサンプルです。
解りにくいですが上の段がアンチエイリアス処理なしの場合、下の段がアンチエイリアス処理を行った場合の図形です。
塗りつぶしを行うにはFillXxxメソッドを使用して色と塗りつぶし範囲を指定します。
塗りつぶしの場合もDrawXxxメソッドと同様の方法でアンチエイリアス処理が可能です。
図形を描画する際にはDrawXxxメソッド、塗りつぶしを行う場合はFillXxxメソッドを使用して図形描画をしていく形になります。
次回は文字の描画について説明する予定です。
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; namespace Graphics3 { class Program { static void Main(string[] args) { var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Image.png"); using (var bitmap = new Bitmap(260, 110)) using (var graphics = Graphics.FromImage(bitmap)) using (var bgBrush = Brushes.White) using (var fillBrush = Brushes.Blue) { // 背景色 graphics.FillRectangle(bgBrush, graphics.VisibleClipBounds); // 矩形塗りつぶし graphics.FillRectangle(fillBrush, 10, 10, 50, 30); // 楕円塗りつぶし graphics.FillEllipse(fillBrush, 100, 10, 50, 30); // 扇形塗りつぶし graphics.FillPie(fillBrush, 200, 10, 50, 30, 90, 180); // アンチエイリアス処理 graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; // 矩形塗りつぶし graphics.FillRectangle(fillBrush, 10, 70, 50, 30); // 楕円塗りつぶし graphics.FillEllipse(fillBrush, 100, 70, 50, 30); // 扇形塗りつぶし graphics.FillPie(fillBrush, 200, 70, 50, 30, 90, 180); bitmap.Save(path, ImageFormat.Png); } } } }このコードを実行すると以下の画像が作成されます。

スポンサーサイト