我用Bitmap.canvas.textout输出文字时只能输出一行,后来知道textout只支持一行,改用textout两次输出,但第二次输出时字体会偶尔变得的很小(几率很小),甚至没有输出,不知道这是什么原因?

解决方案 »

  1.   

    应该不会的啊...是不是bitmap太小...
      

  2.   

    var
      rc: TRect;
    begin
      rc.Left := 10;
      rc.Top := 10;
      rc.Right := 22;
      rc.Bottom := 100;
      //TextOutA(Canvas.Handle,10,10,'测试数据',8);
      DrawText(
      Canvas.Handle,          // handle to DC
      '测试数据', // text to draw
      8,       // text length
      rc,    // formatting dimensions
      DT_WORDBREAK       // text-drawing options
    );
      

  3.   

    要进行多行输出,那么就说明你已经进行了“宽度”限制,那么就需要放宽“高度”,然后使用DT_WORDBREAK进行换行。当然,这个对于英文词就有点问题了。