fc2ブログ

【Graphics】 塗りつぶしを行う

 今回は塗りつぶしについて説明します。
 以下のサンプルコードは矩形、楕円、扇形で塗りつぶしを行うサンプルです。
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);
            }
        }
    }
}
 このコードを実行すると以下の画像が作成されます。
FillImage.png
 解りにくいですが上の段がアンチエイリアス処理なしの場合、下の段がアンチエイリアス処理を行った場合の図形です。

 塗りつぶしを行うにはFillXxxメソッドを使用して色と塗りつぶし範囲を指定します。
 塗りつぶしの場合もDrawXxxメソッドと同様の方法でアンチエイリアス処理が可能です。

 図形を描画する際にはDrawXxxメソッド、塗りつぶしを行う場合はFillXxxメソッドを使用して図形描画をしていく形になります。
 次回は文字の描画について説明する予定です。
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

カレンダー
07 | 2016/08 | 09
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
04  10  11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon