图片上加文本。(50分)

  • 主题发起人 主题发起人 3wccdel
  • 开始时间 开始时间
3

3wccdel

Unregistered / Unconfirmed
GUEST, unregistred user!
请高手看看,为何有错?
openpicturedialog1.Execute;
image1.Picture.LoadFromFile(openpicturedialog1.FileName);

image1.Canvas.Font.Color:=clred;
image1.Canvas.TextOut(20,20,'abbbbvv');
 
没有错呀!!!
只不过是白底红字罢了。
 
if openpicturedialog1.Execute then begin
image1.Picture.LoadFromFile(openpicturedialog1.FileName);

image1.Canvas.Font.Color:=clred;
image1.Canvas.TextOut(20,20,'abbbbvv');
end;
 
试了吕雪松的方案,仍然不行。是否要把image1.Picture送到canvas上?
 
你的错误是什么?图画不出还是字写不出?
 
to 吕雪松:
错误信息:ah.exeraised exception class EINvalidOperation with message"can only modify an
image if is contains a bitmap";
图可显示,字写不出。
谢谢!
 
我试了你的代码,没有问题啊,红字写在图上。
你调的是BMP文件吗?
 
to 吕雪松:
是jpg文件。
 
to 吕雪松:
在《delphi4.0大全》中看到的一段代码启发,问题已解决。bmp和jpg中显示文字
均可。代码如下:
begin
p:=Tpicture.Create ;
try
openpicturedialog1.Execute;
if openpicturedialog1.FileName<>'' then
begin
p.LoadFromFile(openpicturedialog1.filename);
image1.Canvas.Draw(0,0,p.graphic);
end;
finally ;
p.free;
end;

虽然问题已解决,但我仍要把分数分给你,并感谢你的讨论!
3wccdel
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
744
DelphiTeacher的专栏
D
D
回复
0
查看
718
DelphiTeacher的专栏
D
D
回复
0
查看
672
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部