imagelist中的位图格式不一样了

fbiboss 2010-10-24 10:18:06
img := TBitmap.Create;
ImageList1.GetBitmap(0, img);这样得到的位图跟直接在IMAGE控件中加载的位图不一样,是怎么回事啊?好像文件头没有了?
...全文
91 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbiboss 2010-10-25
  • 打赏
  • 举报
回复
是imagelist,是位图,同样的图放到IMAGE中就正常
火龙岛主 2010-10-25
  • 打赏
  • 举报
回复
IMAGE控件中加载的不是位图?
crackdung 2010-10-25
  • 打赏
  • 举报
回复
delphi的图像处理,应该这个是不错。

网站

免费的。



my blog
http://ufo-crackerx.blog.163.com/
fbiboss 2010-10-25
  • 打赏
  • 举报
回复
不行啊,就是这个函数提示的

LoadFromStream(Stream : TStream; ABackColor : TBDColor): Boolean;
var
FileHeader : TBitmapFileHeader;
InfoHeader : TBitmapInfoHeader;
begin
//读取文件头
Stream.Read(FileHeader,SizeOf(TBitmapFileHeader));
Stream.Read(InfoHeader,SizeOf(TBitmapInfoHeader));
with FileHeader,InfoHeader do
begin
//确定位图格式
if (bfType<>$4D42) or (biSize<>SizeOf(TBitmapInfoHeader)) or
(biBitCount<>BD_BITCOUNT) or (biCompression<>BI_RGB) then
begin
self.Error:='错误的数据格式!';
result:=false;
exit;
end;
SQLDebug_Fan 2010-10-25
  • 打赏
  • 举报
回复
把TImageList的透明属性加上试试。
fbiboss 2010-10-25
  • 打赏
  • 举报
回复
不是指大小,大小一样,是本来应该BMP的文件头好像变了
kye_jufei 2010-10-25
  • 打赏
  • 举报
回复
你要指定它的高度和寬度,像素過大,圖像就失真了。。。修改成32*32試試。。。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧