• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Imagick::transformImageColorspace()

    (No version information available, might only be in Git)

    Transforms an image to a new colorspace

    说明

    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();
    }
    ?>
    

    参见

    • Imagick::setColorSpace() Set colorspace

    范例

    Example #2 Imagick::transformImageColorspace()

    <?php
    function transformImageColorspace($imagePath, $colorSpace, $channel) {
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->transformimagecolorspace($colorSpace);
        $imagick->separateImageChannel($channel);
        header("Content-Type: image/jpg");
        echo $imagick->getImageBlob();
    }
    ?>
    
    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