当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Imagick compositeImage()用法及代码示例


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

用法:

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

参数:该函数接受上述和以下所述的五个参数:


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

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

    以下示例程序旨在说明PHP中的Imagick::compositeImage()函数:

    程序:

    <?php 
      
    // Declare Imagick objects 
    $image1 = new \Imagick( 
    "https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-9.png"); 
       
    $image2 = new \Imagick( 
    "https://media.geeksforgeeks.org/wp-content/uploads/negateImage.png"); 
       
    // Resize the images 
    $image1->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



相关用法


注:本文由纯净天空筛选整理自VigneshKannan3大神的英文原创作品 PHP | Imagick compositeImage() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。