DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DrawStringを使った文字列の画像化

環境/言語:[C#]
分類:[.NET]

お世話になります。

DrawStringメソッドを使って「\1,000」という文字列をビットマップにしたいのですが、"\"マークがうまく画像になってくれません。
下記のソースコードで、stringのCapという変数には"\\1,000"と入れており、
テキストの時点では、正しく文字列が入っているのですが、
DrawString()のあと、"\"がバックスラッシュになってしまいます。
何か良い方法はないでしょうか。
ご存知の方はよろしくお願いいたします。

下記、ソースコードです。
↓↓↓↓↓↓↓↓↓↓↓

public System.Drawing.Image MakeBitmap( string Cap,
float capWidth, float capHeight, int HeadWidth, int HeadWidth )
{
Bitmap Bmp = new Bitmap( HeadWidth, HeadHeight );
Graphics g = Graphics.FromImage( (Image)Bmp );

Font fnt = new Font("MS UI Gothick", 9);
StringFormat sf = new StringFormat();

//この時点でCapをウオッチで見てみると「@"\1,000"」となっている

g.DrawString(Cap, fnt, Brushes.Black,
new System.Drawing.RectangleF(0, 0, (float)(capWidth * 1.5),
(float)(capHeight * 1.2)), sf);

//作成したビットマップを返す
return Bmp;

//戻ってきたビットマップでは"\"がバックスラッシュになている。
}
> DrawString()のあと、"\"がバックスラッシュになってしまいます。

 フォントを MS UI Gothick にして描画しているから、ではないでしょうか?
MS UI Gothick から ゴシック に変えたら表示できました。

深山さん、どうもありがとうございました。
解決済み!
解決されたようで何よりです(^^)
 けれど……

> MS UI Gothick から ゴシック に変えたら表示できました。

 すみません。誤解を招く表現をしてしまったような気がします。
 No13201 は "MS UI Gothick" が間違っている――即ち、 "MS UI Gothic" が正しいのでは?という意図で書いておりました。
 描画フォントの指定に特にこだわりがないのでしたら良いのですけれど、 "MS UI Gothic" で描画できないわけではないことを一応記させて頂きます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板