Php 将RGBA中的Alpha转换为CSS不透明度
我试图从RGBA获得透明度,并将其转换为CSS不透明度 因此,在使用以下方法获取图像像素的RGBA后: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
$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)