📜  PHP | imagick的compositeImage()函数

📅  最后修改于: 2022-05-13 01:56:22.068000             🧑  作者: Mango

PHP | imagick的compositeImage()函数

Imagick::compositeImage()函数是PHP中的一个内置函数,用于将一张图像合成为另一张图像并给出合成图像。

句法:

bool Imagick::compositeImage( $composite_object, $composite,
                       $x, $y, $channel = Imagick::CHANNEL_DEFAULT )

参数:该函数接受上面提到的五个参数,如下所述:

  • $composite_object:它是一个 Imagick 对象,用于保存合成图像,或者可能是要合成的图像的真实路径。
  • $composite:它是一个复合运算符常量,例如Imagick::COMPOSITE_DEFAULTImagick::COMPOSITE_MATHEMATICS等……
  • x:保存合成图像的列偏移量。 x值将是数字格式。
  • y:保存合成图像的行偏移量。 y值将是数字格式。
  • $channel:它具有 Imagick 通道常量,可提供对您的通道模式有效的任何通道常量。要应用多个通道,请使用按位运算运算符组合通道类型常量。

    返回值:成功时返回布尔值 True,失败时返回 false。

    下面的程序说明了PHP中的 Imagick::compositeImage()函数:

    程序:

    resizeimage($image2->getImageWidth(), 
            $image2->getImageHeight(), \Imagick::FILTER_LANCZOS, 1);
       
    // Create new Imagick object
    $new_image = new \Imagick();
          
    // Create new image using ImageMagick pseudo-formats
    $new_image->newPseudoImage($image1->getImageHeight(), 
            $image1->getImageWidth(), "gradient:gray(10%)-gray(90%)");
      
    // Rotate the image
    $new_image->rotateimage('black', 90);
       
    // Use composite function to combined the image
    $image2->compositeImage($new_image, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
      
    // Use composite function to combined the image
    $image1->compositeImage($image2, \Imagick::COMPOSITE_ATOP, 0, 0);
       
    header("Content-Type: image/jpg");
      
    // Display the output
    echo $image1->getImageBlob();
      
    ?>
    

    输出:

    参考: https://www. PHP.net/manual/en/imagick.compositeimage。 PHP