将RGBA中的Alpha转换为CSS不透明度

时间:2012-07-09 10:59:48

标签: php css image

我试图从RGBA获得透明度并将其转换为CSS不透明度。

因此,在使用以下内容获取图像像素的RGBA之后:

$rgb = imagecolorat($img, $j, $i);
$colors = imagecolorsforindex($img, $rgb);
// Printing colors, I get
// 255,255,255,127
// 249,161,66,126
//...

由于某种原因,透明度始终是整数(即127)而不是十进制数。但我想将这个127数字转换为我可以在CSS中使用的东西:

opacity:0;filter:alpha(opacity=0)

但是,我无法解决RGBA中的alpha与如何将其转换为CSS不透明度之间的联系。

我将针对来自不同类型图像的各种像素执行此操作。 PNG,JPG,GIF

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

opacity = (127 - transparency) / 127.0

答案 1 :(得分:0)

不透明度与透明度相反。

给定透明度范围为0 .. 255:

opacity = (255 - transparency) / 255.0 

如果您的最大值不同,只需用该值替换两次出现的255次。