Thursday, February 5, 2026
HomeLanguagesPHP | Imagick compositeImage() Function

PHP | Imagick compositeImage() Function

The Imagick::compositeImage() function is an inbuilt function in PHP which is used to composite one image into another image and gives composite image.

Syntax:

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

Parameters: This function accepts five parameters as mentioned above and described below:

  • $composite_object: It is an Imagick object which holds the composite image or may be realpath of image to compose.
  • $composite: It is a Composite Operator Constants such as Imagick::COMPOSITE_DEFAULT, Imagick::COMPOSITE_MATHEMATICS, etc…
  • x: It holds the column offset of the composited image. The x value will be the numeric format.
  • y: It is hold the row offset of the composited image. The y value will be the numeric format.
  • $channel: It has Imagick channel constants which provides any channel constant that is valid for your channel mode. To apply more than one channel, combine channel type constants using bitwise operators.

    Return Value: It returns Boolean value True on success and false on failure.

    Below program illustrates the Imagick::compositeImage() function in PHP:

    Program:




    <?php
      
    // Declare Imagick objects
    $image1 = new \Imagick(
       
    $image2 = new \Imagick(
       
    // 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();
      
    ?>

    
    

    Output:

    Reference: https://www.php.net/manual/en/imagick.compositeimage.php

RELATED ARTICLES

Most Popular

Dominic
32488 POSTS0 COMMENTS
Milvus
126 POSTS0 COMMENTS
Nango Kala
6861 POSTS0 COMMENTS
Nicole Veronica
11983 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12071 POSTS0 COMMENTS
Shaida Kate Naidoo
6994 POSTS0 COMMENTS
Ted Musemwa
7234 POSTS0 COMMENTS
Thapelo Manthata
6946 POSTS0 COMMENTS
Umr Jansen
6928 POSTS0 COMMENTS