- - PR -
vb.net:GraphicsオブジェクトのDrawStringメソッドについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-02-04 16:20
こんにちは。
今回、「TIFFファイルにtxtファイルの内容を描画する」というソースを作成しているのですが、 DrawStringメソッドの部分が思うとおりの結果を出力してくれないので、質問させていただきました。 まず、txtファイルの内容は1行が何文字で何行ほどあるのかが不規則なので、TIFFファイルのページ内に収まらない場合は、マルチTIFFとしてページ数を増やし、txtファイルの内容を全て出力できるようにしたいのです。 マルチTIFFにするところは解決しているのですが、1行の文字数がTIFFファイルのページの幅に収まらない場合、Rectangle構造体を使用すれば自動的に折り返されるはずなのですが、全角3文字分(6バイト分)の文字のみ出力されず、4文字目のから次行に出力されてしまいます。 以下コード↓ Dim bmp As New Bitmap(2000, 3000) Dim gph As Graphics = Graphics.FromImage(bmp) Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS") Dim rect As New RectangleF(200, 200, 2000, 3000) Dim iLineCnt As Integer Dim sFileLine As String Dim sAllLine As String gph.Clear(Color.White) gph.FillRectangle(Brushes.White, rect) Do Until str.Peek < 0 For iLineCnt = 0 To 描画した四角に収まる最大行数 sFileLine = str.ReadLine sAllLine = sAllLine & sFileLine & vbCrLf Next gph.DrawString(sAllLine, fnt, Brushes.Black, rect) Loop ここまで↑ うまく文章で表現できない上に、長々と記述してしまって誠に申し訳ないのですが、 どなたかご教授いただけないでしょうか? |
1