TImageList加載圖片的問題,亟待解決

amfer 2003-06-29 11:46:43
我用TImageList的FileLoad函數動態加載圖片,可是原本真彩色的圖片加載後成了256色,使得工具欄上的圖標很難看,後來改用Add()函數,卻不能讓底色為透明,該怎麼辦??

實例1:
ImageList1->FileLoad(rtBitmap,".\\toolbar.bmp",clFuchsia); //變成256色

2:
Graphics::TBitmap *bmp=new Graphics::TBitmap();
bmp->LoadFromFile(".\\toolbar.bmp");
bmp->Transparent=true;
bmp->TransparentColor=clFuchsia;
bmp->TransparentMode=tmAuto;
ImageList1->Add(bmp,NULL);//底色不能為透明
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
microfire 2003-06-30
  • 打赏
  • 举报
回复
关注一下
编译失败 2003-06-30
  • 打赏
  • 举报
回复
把你的Add()函數改成;AddMasked(bmp,clFuchsia);
Hawk_sun 2003-06-30
  • 打赏
  • 举报
回复
关于颜色丢失问题,估计是Imagelist默认图片属性的格式设定的问题吧!
Hawk_sun 2003-06-30
  • 打赏
  • 举报
回复
关于设定透明色,参考
Use the TImageList.AddMasked(Bitmap: TBitmap; MaskColor: TColor)
method. You can either pass the transparent color yourself in
the second parameter or clDefault to let the imagelist take the
bottom-left pixel's color. TSpeedButton and TBitBtn use this
method. Check-out buttons.pas (around line 560) to see an
example.

amfer 2003-06-30
  • 打赏
  • 举报
回复
自己UP
amfer 2003-06-29
  • 打赏
  • 举报
回复
補充說明:如果我把上面實例2的透明處理過的bmp直接畫在窗體上,那麼又是正常的,有透明底色的!
但是加載到ImageList1里在ToolBar上顯示的卻不行.

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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