phpday 2025 - Call For Papers

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspaceУстанавливает цветовое пространство

Описание

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

Устанавливает значение глобального цветового пространства для объекта. Метод доступен, если модуль Imagick скомпилировали с версией ImageMagick 6.5.7 или старше.

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

COLORSPACE

Одна из констант COLORSPACE.

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

Функция в случае успешной работы возвращает true.

Ошибки

Функция выбрасывает исключение ImagickException, если возникла ошибка.

Добавить

Примечания пользователей 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