寻找与ImageList类似控件
delphi自带的ImageList控件只能加入bmp ico两种格式的图片,有没有支持jpg的ImageList功能的控件?
[解决办法]
帮你顶!
[解决办法]
自己写一个……
[解决办法]
Add
AddIcon
AddImages
Replace
ReplaceIcon
ReplaceMasked
ImageList使用这些函数动态的加载你的图片,将jpg转换成bmp再加入
[解决办法]
建立rc文件,把jpeg文件加到里面,然后编译成.res
工程里引用jpeg单元,再用{$R XX.res}把res文件编译进去,然后用LoadResource等函数从资源加载图片
[解决办法]
以前项目一些代码事例
----------------------------------------------------------
1、res.rc资源定义文件
aboutJPGabout.jpg
loginJPGlogin.jpg
navigateheadJPG navigatehead.jpg
2、编译资源rc文件成 res 文件。
brcc32.exe res.rc
-------------------------------------------------------
3、资源工程源码
library resource;
uses
SysUtils,
Classes,
Jpeg,
Graphics,
ExtCtrls;
{$R *.res}
{$R res.res} //资源res
procedure LoadJpegFromRes(const Image: TImage; ResName: string); stdcall;
var
Stream: TStream;
Jpeg: TJpegImage;
begin
Stream := TResourceStream.Create(HInstance, ResName, PChar('JPG'));
Jpeg := TJpegImage.Create;
try
Jpeg.LoadFromStream(Stream);
if Image.Stretch then Image.Canvas.StretchDraw(Rect(0,0,Image.Width,Image.Height),Jpeg)
else Image.Canvas.Draw(0,0,Jpeg);
finally
Jpeg.Free;
Stream.Free;
end;
end;
procedure LoadIconFromRes(const Icon: TIcon; ResName: String); stdcall;
var
Stream: TStream;
begin
Stream := TResourceStream.Create(HInstance, ResName, PChar('ICO'));
try
Icon.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;
exports
LoadJpegFromRes,
LoadIconFromRes;
begin
end.
------------------------------------------------------------
4、声明与使用
procedure LoadJpegFromRes(const image: TImage; resName: string); stdcall; external 'resource.dll';
procedure LoadIconFromRes(const icon: TIcon; resName: string); stdcall; external 'resource.dll';
使用Example:
LoadJpegFromRes(Image,'login');