紧急求救,关于线程里面的canvas.draw的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 Delphi_HF
  • 开始时间 开始时间
D

Delphi_HF

Unregistered / Unconfirmed
GUEST, unregistred user!
NewImage : TImage;
以下代码
SourceJPG:= TJPEGImage.Create;
try
SourceJPG.LoadFromFile('SrcWordJPG.JPG');
NewImage.Canvas.Lock;
NewImage.Canvas.Draw(curx,cury,SourceJPG);///////注释处代码
NewImage.Canvas.Unlock;
finally
SourceJPG.Free;
end;
注释处的那一行代码,在窗体中运行可以通过,而在线程里面就说TGraphic和TJPEGImage不匹配,请问是什么原因????
 
NewImage : TImage;
以下代码
SourceJPG:= TJPEGImage.Create;
try
SourceJPG.LoadFromFile('SrcWordJPG.JPG');
NewImage.Canvas.Lock;
NewImage.Canvas.Draw(curx,cury,SourceJPG);///////注释处代码
NewImage.Canvas.Unlock;
finally
SourceJPG.Free;
end;
注释处的那一行代码,在窗体中运行可以通过,而在线程里面就说TGraphic和TJPEGImage不匹配,请问是什么原因????
 
我加了jpeg的
 
提示错误
Incompatible types: 'TGraphic' and 'TJPEGImage'
 
太奇怪了,TJPEGImage是TGraphic的子类应该相容,试试强制转换:
NewImage.Canvas.Draw(curx,cury,TGraphic(SourceJPG));
 
我也觉得非常奇怪,在窗体里面好好的,到了线程里面就出问题
我试了NewImage.Canvas.Draw(curx,cury,TGraphic(SourceJPG));
显示错误信息:
Incompatible types: 'QGraphics.TGraphic' and 'Graphics.TGraphic'

在线程里面NewImage.Create(AOwner:TComponent)的参数怎么给,
会不会是这里出了问题
 
你是不是引用QT库,如果不是开发Kylix程序。
把你Uses单员里Q开头的单元都换成非Q的,比如 QGraphics 换成 Graphics
 
我没有引用QT库,我是用的Graphics ,Jpeg
 
应该是引用了,你把全部单元搜索一下。或者有第三房控件。
必要的时候去单元前缀声明变量:
var
MyGraphic:Graphics.TGraphic;
 
没有三方控件,这都是delphi本身的类
我有个问题:
NewImage : TImage;
在线程里面NewImage.Create(AOwner:TComponent)的AOwner参数怎么赋
 
问题解决,怎么结贴?
 
怎么我选接收答案,没有地方给确定按钮的?
 
后退
顶部