3

我正在尝试从 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

有任何想法吗?

4

2 回答 2

3

opacity = (127 - transparency) / 127.0

于 2012-07-09T11:07:54.453 回答
1

不透明度与透明度相反。

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

opacity = (255 - transparency) / 255.0 

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

于 2012-07-09T11:02:02.923 回答