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

    (PECL imagick 2.0.0)

    Applies an expression to an image

    说明

    Imagick::evaluateImage(int $op,float $constant[,int $channel= Imagick::CHANNEL_DEFAULT]): bool

    Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

    参数

    $op

    The evaluation operator

    $constant

    The value of the operator

    $channel

    Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

    范例

    Example #1 Using Imagick::evaluateImage()

    Using evaluateImage to reduce opacity in an image.

    <?php
    // Create new object with the image
    $im = new Imagick('example-alpha.png');
    // Reduce the alpha by 50%
    $im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);
    // Output the image
    header("Content-Type: image/png");
    echo $im;
    ?>
    

    返回值

    成功时返回TRUE

    错误/异常

    错误时抛出 ImagickException。

    What worked for me to convert a JPG source file to a semi-transparent PNG.
    <?php
      $srcImagick = new Imagick($srcPath);
      
      $pathTo50Perc = 'transparent1.png';
      
      $srcImagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_OPAQUE);
      
      $srcImagick->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);
      $srcImagick->writeImage($pathTo50Perc);
    ?>