怎样将十几张图片封装在一个文件中(20分)

  • 主题发起人 主题发起人 柏拉图
  • 开始时间 开始时间

柏拉图

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样将十几张图片封装在一个文件中,如EXE文件,或者是DLL,等等.
 
用资源文件就可以解决问题了
 
用Image Editor 打开 project.Res
在程序中用BMP.LoadFromResourceName or LoadFromResourceID 区的资源就成

 
同意yinxianglong
 
可以用流将这些文件写到一个文件里。
 
如果你不会用资源文件,那么,将这些图片装入Image控件中,再将Image控件的Visible属性设置为false
 
不是有TImageList吗?不过图片大小要一样大的
 
呵呵,我也想知道如何封装到DLL中。

而且如果封装好了之后如何调用呢?
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1957938 有例子
 
资源dll的用法:
1、编辑*.rc文件内容类似下面的

ActiveLeftTop BITMAP "ActiveLeftTop256.bmp"
ActiveMenubar BITMAP "ActiveMenubar256.bmp"
ActiveRightTop BITMAP "ActiveRightTop256.bmp"
ActiveTop BITMAP "ActiveTop256.bmp"
Bottom BITMAP "Bottom256.bmp"
Close BITMAP "Close256.bmp"
......
2、运行 brcc32 -fo1.res -32 1.rc
1.rc 1.res为文件名
3、新建dll工程,添加上面的资源文件,编译生成test.dll文件

library test;
uses
SysUtils,
Classes;

{$R 1.RES} //加上这一句

begin
end.

4、在你的程序中用下面的方法使用:
var h:THandle;
bmp:TBitmap;
begin
h:=LoadLibrary('test');
if h<=0 then
showMessage('Load Dll Error')
else begin
bmp:=TBitMap.Create;
bmp.Handle:=loadBitmap(h,'ActiveTop');
Image1.Picture.Bitmap.Assign(bmp);
canvas.Draw(0,0,bmp);
bmp.Free;
freeLibrary(h);
end;

end;

 
后退
顶部