make按钮标志符号在delphi 7中有透明背景?

时间:2012-03-20 20:06:14

标签: delphi delphi-7

我有四个TSpeedButton对象,每个对象都有一个BMP文件,指定为按钮图像的字形。无论出于何种原因,delphi已经确定两个按钮图像应该具有透明背景,而两个应该具有白色背景。我自己创建了位图,所以它们都以相同的颜色深度保存,并且使用纯白色(不是几乎白色的阴影)作为背景,并且在图像的所有四个角像素中都有背景颜色。

为什么有些字形图像会显示透明背景,有些则不显示?使背景透明的标准是什么?如何使我的按钮图像都具有透明背景,而不是一半具有透明背景?

2 个答案:

答案 0 :(得分:2)

Ken's comment

  

Delphi的字形处理使用左下角的像素来确定透明色。与该颜色匹配的所有像素都应显示为透明。左下角的像素颜色是否与所有字形匹配,是否与您想要透明的区域相匹配? (没有图像,很难说出问题是什么,但我认为我会将此作为调查的潜力。)

似乎持正确的答案(对不起,不能接受评论作为正确答案!)。我使用的图像有一个阴影到达左下角,所以在那个角落几乎是白色,在所有其他角落都是白色。

答案 1 :(得分:-1)

我和D5有类似的问题,我为此解决了问题,因为我从未发现它为什么会发生。

将图像大小定义为比实际图像/字形高一行。这将强制从左上角开始写入图像,并在最后一行之前停止。这将迫使使用不透明的颜色,图像下方的额外行在视觉上不明显。