Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspace设置颜色空间

说明

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

设置对象的全局颜色空间值。此方法适用于使用 ImageMagick 6.5.7 或更高版本编译的 Imagick。

参数

COLORSPACE

COLORSPACE 常量 之一

返回值

成功时返回 true

错误/异常

错误时抛出 ImagickException。

添加注释

用户贡献的注释 2 个注释

simonjjarrett at gmail dot com
4 年前
此方法必须在将任何文件加载到 Imagick 对象之前调用。

默认情况下,Imagick 会错误地读取 CMYK PDF - 它会将每个通道读取为一个灰度页面,导致页面数量增加 4 倍。通过在读取文件之前指定所需的颜色空间(通常为 SRGB),GhostScript 会自动将其转换。

<?php
$im
= new Imagick();

// 设置采样分辨率
$im->setResolution(200,200);

// 设置所需格式
$im->SetColorspace(Imagick::COLORSPACE_SRGB);

$im->readimage($file['tmp_name']);
?>
T
9 年前
目前,此函数似乎没有任何作用,参考:http://stackoverflow.com/q/10739822/2685496

如答案中所述,modulateImage 可作为转换为灰度色的替代方法。

<?php

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

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

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

$image->clear();

?>
To Top