Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将RGBA中的Alpha转换为CSS不透明度_Php_Css_Image - Fatal编程技术网

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

Php 将RGBA中的Alpha转换为CSS不透明度,php,css,image,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这个数字转换成我可以在C

我试图从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


有什么想法吗?

不透明是透明的反面

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

opacity = (255 - transparency) / 255.0 

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

不透明度=(127-透明度)/127.0

这将只提供一半透明度,因为rgba格式的透明度值的最大值为127@slash197是的,我测试了它,它有一半的透明度。不管怎样,要解释这一点吗?@slash197在什么系统中,您的最大值是127?在我使用过的每个RGBA系统中,透明度都达到255。@slash197ah-PHP/GD失败。在一个合适的32位RGBA空间中,alpha应该在0到255之间。@Alnitak我知道,这很奇怪。这只起作用,因为GD函数被破坏,正在丢失一位分辨率(即使用0..127而不是0..255)