image控件可以设置底色吗?

1978322 2000-06-02 02:19:00
请问如何将IMAGE控件的底色设为透明或黑色等等?
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxghl 2000-06-20
  • 打赏
  • 举报
回复
如果要设置IMAGE控件的底色,比较复杂但可行的办法是,
直接在 TIMAGE 的 CANVAS 上画。例如:
(tmp: TImage;)
tmp.Picture.LoadFromFile('test.bmp');
tmp.Canvas.Brush.Color := clBlack; //设置底色
tmp.Canvas.FillRect(tmp.CLientRect);
tmp.Canvas.Draw(0, 0, tmp.Picture.Graphic);
但是window系统在 256 色模式时可能还要考虑调色板问题。

如果要透明,直接设置 TransParent=True即可。
虽然 Asima 说,只对 Bmp 有效,
但是如果是 ICO、WMF,即使不设置 TransParent 直接就是透明的。
至于 JPG…… 比较麻烦,建议转换成 bmp.
Asima 2000-06-02
  • 打赏
  • 举报
回复
Image的底色无法设置,至于可否设置透明
虽然有一个Transparent属性
但是它只有在Image的Picture属性是bmp文件时才有用
Transparent属性为True时,好像是背景和bmp图像的颜色异或的结果
你自己试试看

5,379

社区成员

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

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