2024年PHP开发者大会日本站

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorexactalpha获取指定颜色 + alpha 的索引

描述

imagecolorexactalpha(
    GdImage $image,
    int $red,
    int $green,
    int $blue,
    int $alpha
): int

返回图像调色板中指定颜色+alpha 的索引。

参数

image

一个 GdImage 对象,由图像创建函数(如 imagecreatetruecolor())返回。

red

红色分量的值。

green

绿色分量的值。

blue

蓝色分量的值。

alpha

介于 0127 之间的值。0 表示完全不透明,而 127 表示完全透明。

颜色参数是 0 到 255 之间的整数或 0x00 到 0xFF 之间的十六进制数。

返回值

返回图像调色板中指定颜色+alpha 的索引,如果图像调色板中不存在该颜色,则返回 -1。

变更日志

版本 描述
8.0.0 image 现在需要一个 GdImage 实例;以前,需要一个有效的 gd 资源

范例

示例 #1 从GD标志获取颜色

<?php

// 设置图像
$im = imagecreatefrompng('./gdlogo.png');

$colors = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colors);

// 释放内存
imagedestroy($im);
?>

以上示例将输出类似于以下内容

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

参见

添加注释

用户贡献的注释 2 条注释

1
matt at matt-darby dot com
19 年前
请注意,使用 imageline() 时,使用 imagecolorexactalpha 分配的颜色不会显示 alpha(它将是不透明的)。请改用 imagerectangle() 并将其设置为正常的起点和终点。

确保图像也是通过 imagecreatetruecolor() 创建的!
-1
phpdoc-comment at aditus dot nu
22 年前
文档中可能误导人的一点是,如果指定的颜色 + alpha 通道不存在,它将被创建。因此,如果您想在图像中使用 alpha 通道,请启用 alpha 混合,然后使用此方法创建颜色。
To Top