image背景透明的问题(Transparent设为true,然后点Picture装载一bmp图像,bmp图像背景色自动去掉,但在程序中用LoadFromFile装载bmp,bmp的背

bphantom 2004-02-02 02:57:25
比如我的bmp图背景为蓝色,此bmp图中央有一红色的饼,我点Picture装载此图后,蓝色背景自动去掉了,只有红色的饼了,这正是我需要的效果,但我的此bmp图是要动态加载的,如:
Image1.Transparent := true;
Image1.Picture.LoadFromFile('c:\test.bmp');
//或Image1.Picture.Bitmap.LoadFromFile('c:\test.bmp');
//Image1.Picture.Bitmap.TransparentColor := clTeal;
//Image1.Refresh;
这样,蓝色背景就去不调了,怎么办?也就是说此image1不透明了.郁闷.忘高手指点.
...全文
184 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gide 2004-03-31
  • 打赏
  • 举报
回复
bphantom 2004-02-02
  • 打赏
  • 举报
回复
nhdj(无名) 说的对,背景改为白色就可以了.程序中只能去白色背景,但通过点击picture属性装载的就可以去其他色背景,怪了.
pandengzhe 2004-02-02
  • 打赏
  • 举报
回复
用api函数处理吧,怎末改都行。。。
hch_45 2004-02-02
  • 打赏
  • 举报
回复
只能去悼你图最上方,最左方,也就是0,0的哪个像素的颜色的为透明色,如果你的图是24Bit的哪很难看得到,你用256色试一下就知道了。
YFLK 2004-02-02
  • 打赏
  • 举报
回复
Up!
nhdj 2004-02-02
  • 打赏
  • 举报
回复
好像只能去掉白色背景
hthunter 2004-02-02
  • 打赏
  • 举报
回复
同意hch_45(HCH ~ahong.net~)

Image1.Picture.LoadFromFile('E:\Projects\Icons\_Normal\About.bmp');
Image1.Transparent := True;
Image1.Picture.Bitmap.TransparentColor :=
Image1.Picture.Bitmap.Canvas.Pixels[Image1.Picture.Bitmap.Width - 1, Image1.Picture.Bitmap.Height - 1]; //透明色为右下角那个点
//Image1.Picture.Bitmap.TransparentColor :=
Image1.Picture.Bitmap.Canvas.Pixels[0, 0]; //透明色为左上角那个点

5,388

社区成员

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

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