两个Image,一个TBitmap,代码如下:
bitmap:=TBitmap.Create;
bitmap.LoadFromResourceId(hInstance,1);
StretchBlt(Image1.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY);
//读第二个,再画
bitmap.LoadFromResourceId(hInstance,2);
StretchBlt(Image2.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY);
//问题,此处画的结果居然是第一个图片,为何
将读改为LoadFromFile,结果正常
将画改为Image2.Picture.Assign(bitmap),也正常,
何故???
bitmap:=TBitmap.Create;
bitmap.LoadFromResourceId(hInstance,1);
StretchBlt(Image1.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY);
//读第二个,再画
bitmap.LoadFromResourceId(hInstance,2);
StretchBlt(Image2.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY);
//问题,此处画的结果居然是第一个图片,为何
将读改为LoadFromFile,结果正常
将画改为Image2.Picture.Assign(bitmap),也正常,
何故???
解决方案 »
- 事务回滚出现EDdatabaseError异常,麻烦帮看看
- delphi获取表单内容
- 如何判断文件夹的位置?
- 界面编程:如何作一个类似Windows资源管理器主界面?
- 帮忙解决从awid公司的读卡设备MPR2010AN,发送命令后不能接收数据
- 数据库结构自动更新的问题
- 我用BDE连接数据时报错BDE ERROR 13059
- 能推荐一本学习delphi网络编程的好书么?谢谢了哦,
- 为什么我怎么也进不了大富翁的全文检索界面?在线等,解决后马上给分..
- 一个显示字段值的问题?。。。
- 关于delphi写入log文件是否有延时的问题
- 请问各位大侠 我在做三层系统的时候 用CLIENTDATASET时候出现的问题!
主要是这个函数不太熟悉的缘故,第2个参数是你在资源文件中定义的资源ID
var
Stream: TCustomMemoryStream;
begin
Stream := TResourceStream.CreateFromID(Instance, ResID, RT_BITMAP);
try
ReadDIB(Stream, Stream.Size);
finally
Stream.Free;
end;
end;Delphi7的源码,没看到调用FreeContext啊。
var
Stream: TCustomMemoryStream;
begin
FreeContext;
Stream := TResourceStream.CreateFromID(Instance, ResID, RT_BITMAP);
try
ReadDIB(Stream, Stream.Size);
finally
Stream.Free;
end;
end;procedure TBitmap.LoadFromResourceName(Instance: THandle; const ResName: string);
var
Stream: TCustomMemoryStream;
begin
FreeContext;
Stream := TResourceStream.Create(Instance, ResName, RT_BITMAP);
try
ReadDIB(Stream, Stream.Size);
finally
Stream.Free;
end;
end;
bitmap.Width:= 1;
bitmap.Height:= 1;
bitmap:=TBitmap.Create;
bitmap.LoadFromResourceId(hInstance,1);
StretchBlt(Image1.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY); bitmap.Width := 1;
bitmap.Height:= 1; //读第二个,再画
bitmap.LoadFromResourceId(hInstance,2);
StretchBlt(Image2.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,
bitmap.Canvas.Handle,0,0,bitmap.Width,bitmap.Height,SRCCOPY);