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

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

    Description

    说明

    publicImagick::colorMatrixImage(array $color_matrix= Imagick::CHANNEL_DEFAULT): bool

    Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA(or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5(in support of CMYKA images)and offsets are normalized(divide Flash offset by 255)

    参数

    $color_matrix

    返回值

    成功时返回TRUE

    范例

    Example #1 Imagick::colorMatrixImage()

    <?php
    function colorMatrixImage($imagePath, $colorMatrix) {
        $imagick = new \Imagick(realpath($imagePath));
        $imagick->setImageOpacity(1);
        //A color matrix should look like:
        //    $colorMatrix = [
        //        1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
        //        0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
        //        0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
        //        0.0, 0.0, 0.0, 1.0, 0.0,  0.0,
        //        0.0, 0.0, 0.0, 0.0, 1.0,  0.0,
        //        0.0, 0.0, 0.0, 0.0, 0.0,  1.0
        //    ];
        $background = new \Imagick();
        $background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(),  "pattern:checkerboard");
        $background->setImageFormat('png');
        $imagick->setImageFormat('png');
        $imagick->colorMatrixImage($colorMatrix);
        
        $background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);
        header("Content-Type: image/png");
        echo $background->getImageBlob();
    }
    ?>