Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspaceSet colorspace

Опис

public Imagick::setColorspace(int $COLORSPACE): bool

Sets the global colorspace value for the object. Цей метод доступний, якщо Imagick зібраний з ImageMagick версії 6.5.7 або новішою.

Параметри

COLORSPACE

One of the COLORSPACE constants

Значення, що повертаються

Повертає true в разі успіху.

Помилки/виключення

Кидає ImagickException в разі помилки.

add a note

User Contributed Notes 2 notes

up
1
simonjjarrett at gmail dot com
5 years ago
This method has to be called BEFORE any files are loaded into the Imagick object.By default, Imagick will incorrectly read CMYK PDFs - it will read each channel as a greyscale page resulting in 4 times the number of pages. By specifying the desired colorspace (usually SRGB) before reading the file, GhostScript will automatically convert it.<?php$im = new Imagick();// set the sampling resolution$im->setResolution(200,200);// set the desired format$im->SetColorspace(Imagick::COLORSPACE_SRGB);$im->readimage($file['tmp_name']);?>
up
-2
T
10 years ago
Right now this function doesn't appear to do anything, ref: http://stackoverflow.com/q/10739822/2685496

As mentioned in the answer, modulateImage works fine as a replacement for converting to gray scale.

<?php

$image = new Imagick("input.jpg");

$image->modulateImage(100, 0, 100);

$image->writeImage("output.jpg");

$image->clear();

?>
To Top