imagick之图片合并
由于这些日子太忙了,新版博客还没完成。。。
现继续使用旧版博客与大家共同分享web技术
<?php
/**
* 使用Imagick--图片合并
* @author :Refer Con www.phpcq.com
*
*/
$canvas = new imagick( "1.jpg\" );
$canvas->adaptiveResizeImage( 300, 300 );
$canvas->setImageFormat( \"png\" );
$paths = array( \"2.jpg\", \"3.jpg\", \"4.jpg\", \"5.jpg\" );
// 创建一个空的 ImagickDraw 对象(使用默认设置,偏振)
$bg = new ImagickDraw();
//创建一些随机图片
$images = new Imagick($paths);
//循环图像,覆盖在该画布上
foreach ( $images as $key => $image )
{
//缩略图宽100,设置背景颜色为白色
$image->thumbnailImage( 100, null );
$image->setImageBackgroundColor( new ImagickPixel( \"black\" ) );
//使用一个随机角度
$angle = mt_rand( 1, 45 );
if ( mt_rand( 1, 2 ) % 2 === 0 )
{
$angle = $angle * -1;
}
//创建偏振
$image->polaroidImage( $bg, $angle );
//在画布上组合,,,并到随机位置
$canvas->compositeImage( $image, Imagick::COMPOSITE_OVER,
mt_rand( 10, 150 ), mt_rand( 10, 150 ) );
//释放
$image->removeImage();
}
header(\"Content-Type: image/png\");
echo $canvas;