要在批量图片中插入相同的文字,怎样控制字在图片中的位置?因为图片很多而且大小不一,不可能设置x,y坐标对每一篇都进行调节。有什么办法可以自动加到右下角或者下中位置?
谢谢!

解决方案 »

  1.   

    先用TBitmap打开图片,当然别的也可以。
    用Canvas.TextWidth函数得到文本的宽度。然后计算位置,输出文本。
      

  2.   


    ix,iy:integer;
    s:string;
    begin
    s:='你得文本';
    //右下
      ix:=Image.width - Canvas.TextWidth('X') * Length(s);
      iy:=Image.height - Canvas.TextHeight('X');
    //左下
      ix:=0;
      iy:=Image.height - Canvas.TextHeight('X');
    //左上
      ix:=0;
      iy:=Canvas.TextHeight('X');
    //右上
      ix:=Image.width - Canvas.TextWidth('X') * Length(s);
      iy:=Canvas.TextHeight('X');//输出到image
      Image.Canvas.TextOut(ix,iy,s);
    end;
      

  3.   

    var
      Px:integer;
      Py:integer;
      MyText:string;
    begin
      MyText:='我要加的文字';
      Px:=(Mybitmap.width-Mybitmap.canvas.textwidth(MyText)) div 2;//居中
    //Px:=Mybitmap.width-Mybitmap.canvas.textwidth(MyText)-2 //右[2为2象素留白]
      Py:=Mybitmap.height-mybitmap.canvas.textheight(MyText) - 2//下[2为2象素留白]
      MyBitMap.canvas.textout(Px,Py,MyText);end;
      

  4.   

    “不可能设置x,y坐标对每一篇都进行调节”这句话有问题。你不调节x, y怎么把文字画到不同的位置上?
    具体方法楼上都说了。