English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial PHP Base

Tutorial PHP Avanzato

PHP & MySQL

Manuale di riferimento PHP

PHP imagecolorclosestalpha() Ottiene l'indice del colore più vicino alla profondità alpha specificata

Elaborazione delle Immagini PHP

imagecolorclosestalpha — Ottiene l'indice del colore più vicino alla profondità alpha specificata.

Sintassi

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Restituisce il colore più "vicino" nella tavolozza dell'immagine corrispondente al valore RGB specificato e alla profondità alpha.

Parametro

  • imageRisorsa dell'immagine restituita dalla funzione di creazione dell'immagine (ad esempio imagecreatetruecolor()).

  • redValore del componente rosso.

  • greenValore del componente verde.

  • blueValore del componente blu.

  • alphaUn valore compreso tra 0 e 127. 0 rappresenta l'opacità completa, 127 rappresenta la trasparenza completa.

Il parametro colore è un intero compreso tra 0 e 255, o un numero esadecimale compreso tra 0x00 e 0xFF.

Valore di ritorno

Restituisce l'indice del colore più vicino nella tavolozza.

Esempio

Cerca un insieme di colori all'interno dell'immagine.

<?php
// Da un'immagine iniziale, trasformala in un'immagine basata su una tavolozza.
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255)
// 搜索颜色 (RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);
// 循环遍历,查找调色板中最接近的颜色
// 返回搜索次数,搜索的 RGB 和最接近的匹配的 RGB
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";
    echo "#$id: 搜索 ($rgb[0], $rgb[1], $rgb[2], $rgb[3]);最接近的匹配: $result。\n";
}
imagedestroy($im);
?>

以上示例的输出类似于:

#0: 搜索 (254, 145, 154, 50);最接近的匹配: (252, 150, 148, 0)。
#1: 搜索 (153, 145, 188, 127);最接近的匹配: (148, 150, 196, 0)。
#2: 搜索 (153, 90, 145, 0);最接近的匹配: (148, 90, 156, 0)。
#3: 搜索 (255, 137, 92, 84);最接近的匹配: (252, 150, 92, 0)。

相关文章

Elaborazione delle Immagini PHP