PHP 8.0.3 Released!

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspaceSet colorspace

Descrição

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

Sets the global colorspace value for the object. Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.5.7 ou superior.

Parâmetros

COLORSPACE

One of the COLORSPACE constants

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

add a note add a note

User Contributed Notes 2 notes

up
2
simonjjarrett at gmail dot com
11 months 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
6 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