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


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


Imagick::montageImage()函数是PHP中的内置函数,用于通过组合许多分离的图像来创建合成图像。此函数将图像合成为带有图像名称的图块形式(可选)。

用法:

Imagick Imagick::montageImage( ImagickDraw $draw, string $tile_geometry, 
                      string $thumbnail_geometry, int $mode, string $frame )

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


  • $draw:它指定字体名称,大小和颜色。
  • $tile_geometry:它指定每行和每页的切片数。
  • $thumbnail_geometry:它指定每个缩略图的首选图像尺寸和边框尺寸。
  • $mode:它包含一个与MONTAGEMODE常数之一相对应的整数值。
  • $frame:它指定是否用装饰性边框包围图像。

所有MONTAGEMODE常数的列表如下:

  • imagick::MONTAGEMODE_FRAME(1)
  • imagick::MONTAGEMODE_UNFRAME(2)
  • imagick::MONTAGEMODE_CONCATENATE(3)

返回值:成功时,此函数返回一个新的Imagick对象。

异常:该函数在错误时引发ImagickException。

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

程序1:

<?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(); 
?>

输出:

程序2:

<?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(); 
?>

输出:

参考: https://www.php.net/manual/en/imagick.montageimage.php



相关用法


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