PHP MagickWand True Grayscale - PullRequest
       47

PHP MagickWand True Grayscale

0 голосов
/ 05 апреля 2011

Я ищу способ репликации функции Photoshop Grayscale / Desaturate в PHP, у меня установлен MagickWand на сервере.

Я пробовал множество различных методов (включая итерации пикселей), но контраст всегда меняется (ярче), когда я открываю измененное изображение в фотошопе.

Я думаю, это может быть связано с тем, что встроенный цветовой профиль не сохраняется ??

$resource = NewMagickWand();
MagickReadImage( $resource, $file);
MagickQuantizeImage( $resource, 16772216, MW_GRAYColorspace, 8, true, true );

header( 'Content-Type: image/jpeg' );
MagickEchoImageBlob( $resource );

Кто-нибудь знает настоящую градацию серого, которую можно сделать с помощью PHP ?? Решение не должно использовать Imagemagick

Оценил

1 Ответ

0 голосов
/ 06 апреля 2011

преобразование изображения в оттенки серого с помощью imagemagick

$resource = NewMagickWand();
MagickReadImage( $resource, $file);
$colors = MagickGetImageColors( $resource );
MagickQuantizeImage( $resource, $colors, MW_GRAYColorspace, 8, true, true );
MagickGetImageProfile( $resource , 'ICC');
//MagickModulateImage( $resource, 90, 0, 0); 
//MagickContrastImage( $resource, 2 );
MagickProfileImage( $resource, '*' , 'NULL');
MagickProfileImage( $resource, 'ICC' , file_get_contents('ICC/sGray.icc'));

header( 'Content-Type: image/jpeg' );
MagickEchoImageBlob( $resource );

Вот ссылка на серый профиль http://www.mediafire.com/?jxlwfyjzjzj

...