ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColorВозвращает цвет

Описание

array ImagickPixel::getColor ([ bool $normalized = false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращает цвет в виде массива, описанный в объекте ImagickPixel. Если у цвета установлен канал прозрачности, то он будет отражен в четвертом значении списка.

Список параметров

normalized

Нормализовать значение цвета

Возвращаемые значения

Массив значений канала. Каждое значение нормализуется, если параметру будет передано TRUE. В случае ошибки создаст создаст исключение ImagickPixelException.

Коментарии

Автор:
In case you use default un-normalized getColor value the alpha value will always be either 0 or 1.

If you want to use real full-range 0-1 alpha channel on your 24bit transparent images use the alpha value from the normalized one, even if you use the rest of unnormalized data.

To copy a 24bit png with real alpha transparency, you would have to do this:
<?php

$im
=new Imagick'image.png' );
$iterator=$im->getPixelIterator();
foreach (
$iterator as $row=>$pixels) {
    foreach ( 
$pixels as $column => $pixel ){
       
$un_color=$pixel->getColor(); //unnormalized color
       
$nor_color=$pixel->getColor(true); //normalized color
       
$pixel->setColor('rgba('.$un_color['r'].','.$un_color['g'].','.$un_color['b'].','.$nor_color['a'].')');
    }
}
?>

If you use 'a' (alpha) value from the unnormalized color there will only be binary transparency.
2013-05-11 00:27:40
http://php5.kiev.ua/manual/ru/imagickpixel.getcolor.html

    Поддержать сайт на родительском проекте КГБ