首页 新闻 赞助 找找看

GDI+ 中如何DrawString多行文本?

0
悬赏园豆:5 [已解决问题] 解决于 2009-03-05 18:49

Bitmap bt1 = new Bitmap(300,350,PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bt1);
g.DrawString("你好 cnblogs.com",font,new SolidBrush(Color.White),10,10);
//g.Clear(Color.White);
bt1.Save("123.jpg",ImageFormat.Jpeg);

如何实现输出为:

你好
cnblogs.com

红尘中迷茫的主页 红尘中迷茫 | 初学一级 | 园豆:60
提问于:2009-03-05 14:57
< >
分享
最佳答案
0

1.只能根据坐标,调整成两行了.

http://www.cnblogs.com/winzheng/archive/2009/03/05/1403992.html

 

Code
Bitmap bt1 = new Bitmap(300, 350, PixelFormat.Format24bppRgb);
Graphics g
= Graphics.FromImage(bt1);
String[] strings
= new string[]{"你好","cnblogs.com"};
Point p
= new Point(0,0);
foreach (string s in strings)
{
p.Y
= p.Y + 30;
g.DrawString(s, font,
new SolidBrush(Color.White), p.X,p.Y, StringFormat.GenericDefault);
}
//g.Clear(Color.White);
bt1.Save("123.jpg", ImageFormat.Jpeg);
winzheng | 大侠五级 |园豆:8797 | 2009-03-05 16:15
其他回答(2)
0

把字符串改成"你好\r\ncnblogs.com"

hoodlum1980 | 园豆:559 (小虾三级) | 2009-03-05 16:08
0

如果要是说是根据你输入的长度进行转行的话,就要用g.MeasureString计算的

水随风 | 园豆:238 (菜鸟二级) | 2009-03-05 16:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册