image上添加文字(30分)

  • 主题发起人 主题发起人 ljlsucfe
  • 开始时间 开始时间
L

ljlsucfe

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一下各位,如何在一个image上加些 字符啊
我是这样的,但是出错了
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
image1.Canvas.Pen.Color :=clred;
image1.Canvas.TextOut(1,1,'a');
end;
提示为:Cann't only modify an image if it contans a bitmap
请问如何处理?
 
用另外一个image画
 
干脆加个label,设成透明,或者坐在image里
 
两位:现在是想用image.canvas的属性与方法实现,这样比较好做
 
var
R:TRect;
begin
R:=Rect(20,20,100,100);
DrawText(image1.Canvas.Handle,'This is a long text!',25,R,DT_END_ELLIPSIS);////DT_PATH_ELLIPSIS
end;
 
app2001 :
还是相同的提示!
呵呵!
 
不可能呀?我发之前试了一下,在我这是可以的呀??
 
image1.picture.bitmap.canvas.textout(1,1,'a');
我觉得这样可以
 
干脆加个label,设成透明,或者坐在image里
 
如果是jpeg/jpg的图象是不能被修改的

只能通过另外一个image来实现:再放一个image(image2),将image1设置为不可见
image2.Canvas.Draw(0,0,image1.picture.graphic);
image2.Canvas.Pen.Color :=clred;
image2.Canvas.brush.style:=bsclear;//字体透明
image2.Canvas.TextOut(1,1,'我爱重庆');
// image2.Picture.SaveToFile('d:/dl.bmp');//存盘
 
app2001 与 anionf 的方法出现相同的提示。
用label可以,但是不够理想!
 
看我上面的回答::)
没问题了
 
hongxing_dl的方法可以,但是想知道原因!向你请教!
 
我觉得可以的呀?实在不行的话
就申明一个TBitmap,把image1的内容复制过来,然后在这个TBitmap上面画图,
然后Assign到Image里面去.
顺便问一下,你的Image1里面是什么格式的图片?Jpeg?
 
AnionF:用的是jpeg文件,canvas提供了一个textout(),为什么不用?
这好像是最好的方法 啊!
 
Jpeg当然是不能修改的.
我以为是Bitmap呢,[:D]
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
799
import
I
后退
顶部