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 年前
请注意,使用 imagecolorexactalpha 分配的颜色在与 imageline() 一起使用时不会显示 alpha(它将是不透明的)。请改用 imagerectangle() 设置为您的正常起点和终点。

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