Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
画像への文字列描画(右から左にすると、文字列が入れ替わる)
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30919#CommentId85978
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
sayama
 (社会人)
投稿日時
2023/11/9 23:40:28
環境:Win11Pro VS2022Community VB.net .netVer 4.8
新規作成した画像上で、決まったスペースに住所を右詰めで折り返して描画したいのですが、描画した文字列の一部が入れ替わってしまう現象が生じてしまい困っています。解決策があればご指導いただけますよう、よろしくお願いいたします。
’作成するイメージ
Img = New Bitmap(1050, 1500)
Dim g As Graphics = Graphics.FromImage(Img)
Dim Brs As SolidBrush
Brs = New SolidBrush(Color.White)
g.FillRectangle(Brs, 0, 0, Img.Width, Img.Height)
’このイメージに次の文字列を右詰めで折り返して描画したい
Dim addFnt As New Font("メイリオ", 7.5, FontStyle.Regular, GraphicsUnit.Millimeter)
Dim str As String = ""
Dim cs As Size
Dim sf As New StringFormat() 'StringFormatを作成
sf.FormatFlags = StringFormatFlags.DirectionRightToLeft '右から左に表示する
str = "〒100-0001 東京都 新宿区 新宿 第一〇×ビル1階 108号室"
cs = TextRenderer.MeasureText(str, addFnt) ’文字列を描画した際の大きさを測定
str += "TEL:03-0000-0000"
Dim rct As New RectangleF(10, 10, cs.Width, cs.Height * 2) ’文字列2行分の大きさで描画スペースを作成
g.DrawString(str, addFnt, Brushes.Black, rct, sf) ’右から左に文字列を描画(右詰め)
’期待するイメージ
〒100-0001 東京都 新宿区 新宿 第一〇×ビル1階 108号室
TEL:03-0000-0000
’実際に出力されるイメージ
東京都 新宿区 新宿 第一〇×ビル1階 108号室 100-0001〒
TEL:03-0000-0000
’同様なことを単純な文字列 ”\20,000-”とやってみたのですが、
’出力されるイメージは ”-\20,000” と描画されてしまいます。
何がなんやら苦悶しています。。。。。お助けください。