Imagick::transformImageColorspace

(PECL imagick 3)

Imagick::transformImageColorspaceTransforms an image to a new colorspace

说明

public Imagick::transformImageColorspace ( int $colorspace ) : bool

Transforms an image to a new colorspace.

参数

colorspace

The colorspace the image should be transformed to, one of the COLORSPACE constants e.g. Imagick::COLORSPACE_CMYK.

返回值

成功时返回 true

范例

Example #1 Imagick::transformImageColorspace() example

Transforms an image to a new colorspace, and then extracts a single channel so that the individual channel values can be viewed.

<?php
function transformImageColorspace($imagePath$colorSpace$channel) {
    
$imagick = new \Imagick(realpath($imagePath));
    
$imagick->transformimagecolorspace($colorSpace);
    
//channel should be one of the channel constants e.g. \Imagick::CHANNEL_BLUE 
    
$imagick->separateImageChannel($channel);
    
header("Content-Type: image/jpg");
    echo 
$imagick->getImageBlob();
}
?>

参见

User Contributed Notes

A.Ross 15-Apr-2015 07:31
This SO question and answer might help clarify why transformImageColorspace is useful: http://stackoverflow.com/questions/29296779/convert-pdf-with-transparency-and-cmyk-to-jpg

Also, there's a Github issue here that explains the difference between transformImageColorspace and setImageColorspace: https://github.com/rmagick/rmagick/pull/75