2024 年 PHP 大会日本站

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspace设置颜色空间

描述

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

设置对象的全局颜色空间值。如果 Imagick 使用 ImageMagick 6.5.7 或更高版本编译,则可以使用此方法。

参数

COLORSPACE

一个 COLORSPACE 常量

返回值

成功时返回 true

错误/异常

出错时抛出 ImagickException。

添加备注

用户贡献的备注 2 条备注

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

默认情况下,Imagick 会错误地读取 CMYK PDF——它会将每个通道读取为灰度页面,导致页面数量增加四倍。通过在读取文件之前指定所需的颜色空间(通常为 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