php7, ImageMagick-7.0.8-3 生成圆形图片 会出现这个错误
Call to undefined method Imagick::roundCorners
ImageMagick-6 生成圆形图片
$image = new Imagick('45_y.png');
$image->setImageFormat('png');
$image->roundCorners($image->getImageWidth() / 2, $image->getImageHeight() / 2);
$image->writeImage( '45_y1.png' ); //保存图片
$image->destroy();
ImageMagick-7.0.8-3 生成圆形图片 需要换种思路
$width = ‘300’;
$height = '300';
$cornerRadius = $long/2;
$image = new Imagick('45_y.png');
$image->setImageFormat('png');
$image->thumbnailImage($width,$height);
$mask = new Imagick();
$mask->newImage($width, $height, new ImagickPixel('transparent'), 'png');
// create the rounded rectangle
$shape = new ImagickDraw();
$shape->setFillColor(new ImagickPixel('black'));
$shape->roundRectangle(0, 0, $width-1, $height-1, $cornerRadius, $cornerRadius);
// draw the rectangle
$mask->drawImage($shape);
// apply mask
$image->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0);
$mask->writeImage( '45_y1.png' );
网友评论