php imagick函数设置图片背景透明

发布时间:2019-09-01编辑:脚本学堂
php使用imagic函数设置图片背景为透明的方法,将imagemagick官方的一个将图片背景变成透明的写法转成imagick写法。

imagemagic官方去除图片背景的命令行模式:
convert cyclops.png -bordercolor white -border 1x1 -matte  -fill none -fuzz 20%  -draw 'matte 0,0 floodfill'  -shave 1x1 cyclops_flood_3.png 

imagick代码:
 

复制代码 代码示例:

<?php
$image = new Imagick('1.png');
$image->borderImage(new ImagickPixel("white"),1,1);
$image->paintfloodfillimage('transparent',2000,NULL,0,0);
$draw = new ImagickDraw();
$draw->color(0,0,imagick::PAINT_FLOODFILL);
$image->drawImage($draw);
$image->shaveImage(1,1);
header("Content-Type: image/{$image->getImageFormat()}");
echo $image->getImageBlob( );

//$image->writeImage('o.png');
$image->clear();
$image->destroy();
?>

源图片:
php imagick函数图片背景透明

效果图:
php imagick函数图片背景透明