|
分類:[VB.NET/VB2005]
2008/05/01(Thu) 08:39:27 編集(投稿者)
いつもお世話になっております。 moroと申します。
VB.NET2003でビットマップに円を描画したのですが線が一部ぼやけて困っています。 プログラムは以下のように作成しました。
Dim TestPen As New System.Drawing.Pen(System.Drawing.Color.Red, Single.Parse(1)) Dim TestBmp As New System.Drawing.Bitmap(ファイル名) Dim TmpBmp As New System.Drawing.Bitmap(TestBmpの幅, TestBmpの高さ) Dim TmpGra As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(TmpBmp) Dim rect As System.Drawing.Rectangle = New System.Drawing.Rectangle(0, 0, TmpBmp.Width, TmpBmp.Height) TmpGra.DrawImage(TestBmp , rect, 0, 0, TestBmp.Width, TestBmp.Height, GraphicsUnit.Pixel) TmpBmp.Save("保存ファイル名", System.Drawing.Imaging.ImageFormat.Jpeg) Dim SaveBmp As New System.Drawing.Bitmap("保存ファイル名") Dim SaveGra As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(SaveBmp) SaveGra.DrawEllipse(OutPen, SaveBmpの中心X, SaveBmpの中心Y, 100, 100) SaveBmp.Save(("保存ファイル名2", System.Drawing.Imaging.ImageFormat.Jpeg)
TestBmp:jpegファイル(Format8bppIndexed) TmpBmp :jpegファイル(Format24bppRgb) SaveBmp:jpegファイル(Format24bppRgb)
TmpBmpを中間に入れている理由はFormat8bppIndexed形式のファイルでは System.Drawing.Graphicsを作成し、加工することが出来なかったためです。 一旦Format24bppRgb形式に変換しています。 Penオブジェクトの色を黒にした場合は、ぼやけることなく描画されます。
上記問題についての回答をご存知の方がいらっしゃいましたら 解決策をご教授願います。
|