'imagecolorat'和透明度

Rom*_*man 7 php transparency image pixel

它是如何可能获得透明的上的像素值的图像

'imagecolorat'仅选取图像中指定位置的像素颜色的索引.使用该索引,我可以获得RGB值,但不能获得透明值.

希望您理解,并提前感谢您.

sha*_*yyx 12

解决方案可能如下:

$colorIndex = imagecolorat($img, $x, $y);
$colorInfo = imagecolorsforindex($img, $colorIndex);
print_r($colorInfo);
Run Code Online (Sandbox Code Playgroud)

这将打印如下:

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)
Run Code Online (Sandbox Code Playgroud)

其中α是你的透明度值...(从0到127,其中0是完全不透明的,127是完全透明的)

请享用!


Ste*_*rig 10

据我所知,透明度值由函数返回imagecolorat.你能尝试一下:

$color        = imagecolorat($image, $x, $y);
$transparency = ($color >> 24) & 0x7F;
Run Code Online (Sandbox Code Playgroud)

透明度是0到127之间的整数,因此我们需要屏蔽32位颜色整数的前8位.