delphi怎么导入资源

比如导入一张jpg图片,然后再调用它,将这张图片画在窗体上,这张图片必须嵌入exe... 比如导入一张jpg图片,然后再调用它,将这张图片画在窗体上,这张图片必须嵌入exe 展开
 我来答
li101chao
2014-11-12 · TA获得超过233个赞
知道小有建树答主
回答量:1044
采纳率:92%
帮助的人:681万
展开全部

{我不是太明白你的意思,是不是问调用资源文件的意思?

假设如果你不是调用资源文件,那你可以在设计的时候就把图片给放到一个imgList里面(这算是嵌入程序了吧?)然后你就可以在程序内部调用这些图片了(只能用bitmap类型图片);


如果你是想调用资源文件的话(这个可以装在jpg)

你需要先建立资源文件.res(怎么制作网上很多,要用到Brcc32这个命令行)

有了.res资源文件之后,再把他制作成一个动态库.dll

这样你就可以在程序里调用这个包含资源文件的动态库了~~


测试代码(制作动态库部分没写)

我给出的是bitmap的例子,jpg也可以}

procedure TForm1.FormCreate(Sender: TObject);

begin

   t:=LoadLibrary('PicRec.dll');//装在资源文件的动态库,取得句柄

end;


procedure TForm1.Button1Click(Sender: TObject);

begin

   if t<>0 then begin

       //Image1.Picture.Bitmap.LoadFromResourceName(t,'MyBipmap');

       Image1.Picture.Bitmap.Handle:=loadbitmap(t,'MyBipmap');  //API函数 loadbitmap

   end;

end;

//---加载jpg的部分没测试,这是我抄的~~

把jpeg单元加入到Interface的uses中。
procedure TForm1.LoadJPGClick(Sender: TObject);
var
Fjpg : TJpegImage ;
FStream : TResourceStream ;
begin
Fjpg := TJpegImage.Create ;
FStream := TResourceStream.Create(t,'资源标识符',RT_RCDATA) ;//t还是我上面的handle
FJpg.LoadfromStream(FStream) ;
Image1.Picture.Bitmap.Assign(FJpg);
end;


//祝你成功~


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式