C#にさわりだして、フォームでグラフィックスを使った表現をしたとき気づいた事

C#にさわった。
Windowsフォームのプログラム作り出した。

フォームで何本もの線をDrawLineしていたとき、すごくガタガタした線になった。
アンチエイリアスしていなかった。
SmoothingMode 列挙体 (System.Drawing.Drawing2D)

Graphics g = Graphics.FromImage(bmp);
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

何本もの線をひいて、模様を描いているとき、平行な線のはずがよれている。
座標を計算している途中で、Pointを使っていて、整数にしていたせいだった。
PointFというのがあった。これだと、floatが使える。
PointF 構造体 (System.Drawing)

そして、Graphisc.DrawLineで、

DrawLine(Pen, PointF, PointF)

とかける。
これを使って、途中で整数にしてしまっていた部分を直すと綺麗な模様になった。

そして、msdnはすごい。充実している。
「msdn ○○」と検索すると、msdnサイトの詳しい情報に行き当たることができる。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください