當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。