Open In App

PHP | Imagick montageImage() Function

Last Updated : 04 Dec, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
The Imagick::montageImage() function is an inbuilt function in PHP which is used to create a composite image by combining the many separated images. This function composite the images into the tiles form with the name of image optionally. Syntax:
Imagick Imagick::montageImage( ImagickDraw $draw, string $tile_geometry, 
                      string $thumbnail_geometry, int $mode, string $frame )
Parameters: This function accepts five parameters as mentioned above and described below:
  • $draw: It specifies the font name, size, and color.
  • $tile_geometry: It specifies the number of tiles per row and page.
  • $thumbnail_geometry: It specifies the preferred image size and border size of each thumbnail.
  • $mode: It contains an integer value corresponding to one of MONTAGEMODE constants.
  • $frame: It specifies whether surrounds the image with an ornamental border.
List of all MONTAGEMODE constants are given below:
  • imagick::MONTAGEMODE_FRAME (1)
  • imagick::MONTAGEMODE_UNFRAME (2)
  • imagick::MONTAGEMODE_CONCATENATE (3)
Return Value: This function returns a new Imagick object on success. Exceptions: This function throws ImagickException on error. Below programs illustrate the Imagick::montageImage() function in PHP: Program 1: php
<?php

// Create a new Imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');

// Create a montage
$result = $imagick->montageImage(new ImagickDraw(), '4x2',
        '150x100+2+2', imagick::MONTAGEMODE_UNFRAME, "2x2+3+3");

// Display the image
$result->setImageFormat('png');
header("Content-Type: image/png");

echo $result->getImageBlob();
?>
Output: Program 2: php
<?php

// Create a new Imagick object
$imagick = new Imagick();

// Create a new Image with label
$imagick->newimage(1000, 800, 'green');
$imagick->labelImage('green');

// Add a new Image with label
$imagick->addImage(new imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'));

$imagick->labelImage('Image1');

// Add a new Image with label
$imagick->addImage(new imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png'));

$imagick->labelImage('Image2');

// Create a new Image with label
$imagick->newimage(1000, 800, 'blue');
$imagick->labelImage('blue');

// Create a new Image with label
$imagick->newimage(1000, 800, 'violet');
$imagick->labelImage('violet');

// Create a new Image with label
$imagick->newimage(1000, 800, 'cyan');
$imagick->labelImage('cyan');

// Create a montage
$result = $imagick->montageImage(new ImagickDraw(), "3x2+0+0", 
     "200x160+3+3>", Imagick::MONTAGEMODE_CONCATENATE, "10x10+2+2");

// Display the image
$result->setImageFormat('png');
header("Content-Type: image/png");

echo $result->getImageBlob();
?>
Output: Reference: https://www.php.net/manual/en/imagick.montageimage.php

Similar Reads