PHP Conference Nagoya 2025

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspaceSet colorspace

Açıklama

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

Sets the global colorspace value for the object. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

COLORSPACE

One of the COLORSPACE constants

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

add a note

User Contributed Notes 2 notes

up
0
simonjjarrett at gmail dot com
4 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
9 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