我要在Bmp上面写文章!
 已知图片的大小
   文本是从TXT文件中读取! 写在Bmp上字体大小是固定的。
一行写不完换一行继续。(其实就是如何排版问题)
     用流从文件中读出的内容是有格式的(有换行), 但每个文件每行的字数不同.有的文件一张图就可以画完,有的要好几张!   没有一点头绪,请各位指教
  
 
  

解决方案 »

  1.   

    Graphics类的实例有个方法MeasureString()能得到drawstring的长短
      

  2.   

    string str="用流从文件中读出的内容是有格式的(有换行), 但每个文件每行的字数不同.有的文件一张图就可以画完,有的要好几张!"
    Font f=new Font("Arial", 12, System.Drawing.FontStyle.Bold); //12号粗体
    SolidBrush b = new SolidBrush(Color.Black); //画笔int height=0; //记录行高
    int j=0;
    while(int i<str.length;i++)
    {
    if(10+i*12>画布宽度)
    {
    height+=20; //相当于换行
    j=0;
    }g.DrawString(str.substring(i,1),f, b, 5 + j * 12, height);
    }大约这样应该就可以,str为用ReadLine从你的文本中一行一行的读取出来的内容
      

  3.   

    使用drawstring的一个重载方法(带stringformat参数的),通过设置stringformat的水平与垂直布局来达到要求
      

  4.   

      那stringformat应该选哪个枚举呢?