トップ «前の日記(2003-07-23) 最新 次の日記(2003-07-25)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2003-07-24

_ C#でPNG画像の動的な生成

using (Bitmap b = new Bitmap(640, 480)) // たとえばVGAサイズ

{

using (Graphics gr = Graphics.FromImage(b))

{

gr.Clear(Color.White); // 背景を白にしてみる

// いろいろ描いて見る

gr.DrawLine(Pens.Black, new Point(0, 0), new Point(639, 479));

.....

gr.Flush();

}

// 別にImageFormat.JpegならJpgで出力されるけど。

b.Save("d:\\home\\arton\\test.png", ImageFormat.Png);

}

_ System.Drawing.Drawing2D.GraphicsPath

だめだめ。

何がって、GraphicsPath#AddString。フォントがすごく汚い。

一方、Graphics#DrawStringはばっちりだ。

おそらく、原因は、StringFormatとlayoutRectの指定方法にあるんだろうとは予測できるんだが、Fontをそのまま利用できるだけに、見てくれが思い通りになるGraphics#DrawStringのほうがはるかに使い易い。

ただし、なんでもPathに突っ込めるから、APIはGraphicsPathのほうが使い易いし洗練されていると思う。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|

ジェズイットを見習え