imagecolorclosestalpha

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

imagecolorclosestalpha β€” ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ блиТайший индСкс Ρ†Π²Π΅Ρ‚Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ прозрачности

ОписаниС

function imagecolorclosestalpha(
Β Β Β Β GdImage $image,
Β Β Β Β int $red,
Β Β Β Β int $green,
Β Β Β Β int $blue,
Β Β Β Β int $alpha
): int

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ «блиТайший» ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ RGB-Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ alpha-ΡƒΡ€ΠΎΠ²Π½ΡŽ индСкс Ρ†Π²Π΅Ρ‚Π° Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ изобраТСния.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

image
ΠžΠ±ΡŠΠ΅ΠΊΡ‚ GdImage, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½ΡƒΠ»Π° функция imagecreatetruecolor() ΠΈΠ»ΠΈ другая функция Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
red

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ красного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ†Π²Π΅Ρ‚Π°.

green

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π΅Π»Ρ‘Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ†Π²Π΅Ρ‚Π°.

blue

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ синСго ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ†Π²Π΅Ρ‚Π°.

alpha

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 127. 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, 127 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ†Π²Π΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ цСлочислСнными Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 255, Π»ΠΈΠ±ΠΎ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0x00 Π΄ΠΎ 0xFF.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс Ρ†Π²Π΅Ρ‚Π° Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ изобраТСния, блиТайшСго ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 Поиск Π½Π°Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚ΠΎΠ² изобраТСния

<?php

// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ изобраТСния ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²ΠΎΠ΅
$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";
}

?>

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π°:

#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).

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • imagecolorexactalpha() - ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс Ρ†Π²Π΅Ρ‚Π° ΠΈ Π°Π»ΡŒΡ„Π°-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°
  • imagecolorclosest() - ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ блиТайший индСкс Ρ†Π²Π΅Ρ‚Π°
  • imagecolorclosesthwb() - ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ индСкс Ρ†Π²Π΅Ρ‚Π° с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΠ½ΠΎΠΌ, Π±Π΅Π»ΠΈΠ·Π½ΠΎΠΉ ΠΈ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы