昨日文字背景を黒く塗りつぶして印刷する方法を質問した者です。
黒く塗りつぶして表示する方法は無事わかりました。
C#
1//表示する文字列 2string s = "あああああ"; 3 4//Graphicsオブジェクトを作成する 5Bitmap canvas = new Bitmap(pictureBox1.Width, pictureBox1.Height); 6Graphics g = Graphics.FromImage(canvas); 7 8Font fnt = new Font("Arial", 25); 9//StringFormatオブジェクトの作成 10StringFormat sf = new StringFormat(); 11 12 //文字列を描画するときの大きさを計測する 13SizeF stringSize = g.MeasureString(s, fnt, 1000, sf); 14//文字列の大きさを使って四角を描画する 15g.FillRectangle(Brushes.Black, 0, 0, stringSize.Width, stringSize.Height); 16 17//文字列を描画する 18g.DrawString(s, fnt, Brushes.White, 0, 0, sf); 19 20//リソースを解放する 21fnt.Dispose(); 22sf.Dispose(); 23g.Dispose(); 24//PictureBox1に表示する 25pictureBox1.Image = canvas;
こうすると
こう表示できたので、これをまるっとprintDocumentに書いて印刷できるようにしたいです。
しかし上記のコードはpictureBoxに描写しているのでDrawStringを使えません。
どう書けばいいのか、ご教授お願い致します。
回答1件
あなたの回答
tips
プレビュー