Dephi资源文件中、高级应用篇
上一次,我们谈到了Dephi资源文件的使用和Dephi资源文件的主要应用的详细说明。现在,在你对Dephi资源文件有所了解之后,我们来谈谈Dephi资源文件的中级和高级应用。
中间应用产品
我们已经知道如何从资源文件中读取BMP图像,但是BMP文件太大了,JPG文件使用得相对较多。那么如何解读JPG的图像呢?使用资源文件流方法。具体方法如下:
1.MyJpg
2.
var
Stream:t Stream;
MyJpg:TJpegImage;
Begin
Stream:= tresource Stream。Cceat(HINSTANCE,' MyJpg ',' JPEG ');
试试
MyJpg:=TJpegImage。创建;
试试
MyJpg。LoadfromStream(流);
图片1。picture . Assignc(MyJpg);
最后
MyJpg。免费;
end;
最后
流。免费;
end;
end;
读取其他图片文件也是如此。比如你有一个gif动画文件,当然前提是你有一个gif.pas,本单位很多站点都有。你可以自己去找。在实践中,我也发现资源文件中的图标和BMP可以用上面的代码直接显示。
说到图形处理,其实可以用Delphi创建和调用纯图标资源的dll。比如你可以看看超级解锁目录里的dll,很多都只是纯图标资源。具体方法如下:
1:创建一个图标。RES文件,这里不再赘述。
2.用以下内容创建一个新的文本文件Icon.dpr:
库图标;
{$R Icon。RES}
begin
end
用Delphi打开编译得到Icon.dll。
3:实际调用方法如下:
......
Private
Hinst:thand le;
......
Var Hicon:thand le;
begin
Hinst:= Loadlibrary(' icon . dll ');
如果Hinst=0,则退出;
Hicon:=Loadicon(Hinst,Pchar(Edit1。正文));
如果Hicon0,则Image1。picture . icon . handle:= Hicon;
free library(Hinst);
end;
如果你的程序想被国际上使用不同语言的人使用,用Dll存储字符资源是一个很好的方法,因为Dll不能像ini文件一样随便修改,特别是有时候如果你想保存一些版权信息,用Dll更好。比如你准备开发一个“简繁体中文翻译器”软件,为用户提供Gb32、Big5和英文的菜单,那么你可以尝试使用Dll来节省字符资源。
我们需要构建三个dll。第一步,当然是写Rc文件。以Gb32代码为例。内容如下:
/* mysc . RC */
# define IDS _ main form _ Caption 1
# define IDS _ BTN open _ Caption 2
# define IDS _ BTN save _ Caption 3
# define IDS _ BTN big 5 _ Caption 4
# define IDS _ btngb 32 _ Caption 5
# define IDS _ BTN Help _ Caption 6
# define IDS _ Help _ Shelp 7
String {
0条评论