- PR -

vb.net:GraphicsオブジェクトのDrawStringメソッドについて

1
投稿者投稿内容
ハイジ
会議室デビュー日: 2003/11/28
投稿数: 19
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)