使用imagick将图片背景变透明

转载 2013年12月03日 15:05:59

imagemagick有命令行convert可以做很多效果,但如果exec被禁用的话那比较麻烦了。前些天就有一位朋友问我是不是可以将imagemagick官方的一个将图片背景变成透明的写法转成imagick写法,这几天花了时间研究了一下,官方的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();
?>

源图片:


效果图:

相关文章推荐

imagemagick png 转 jpg 透明背景变黑

这个问题该如何解决呢?转换成JPG之前移除ALPHA通道?
  • mochong
  • mochong
  • 2017年03月28日 14:22
  • 491

图片处理神器ImageMagick以及PHP的imagick扩展

为了提高页面的加载速度,以及减少流量,要针对网站的图片进行瘦身,研究了很多的解决方案,最后确定了使用ImageMagick,了解了这个软件之后,真是如获至宝,简直太好用,效果太明显了。 ImageMa...

用PHP的GD库把图片的背景替换成透明背景

这是本人的第一篇博客,有错的地方可以大胆斧正,切记谩骂,谢谢 之前写个功能用PHP把图片的背景弄成透明,之留下文字(黑色的),我也在百度上找,也试过别人的代码。大多数代码的思路都是这样: 生成新的...
  • ant93
  • ant93
  • 2016年07月26日 20:16
  • 171

php imagemagick图片处理类

class ThumbHandler { var $dst_img;// 目标文件 var $h_src; // 图片资源句柄 var $h_d...

ImageMagick、GraphicsMagick 图片处理

ImageMagick介绍 ----------------------------------------------------------------------------       Ima...
  • in_han
  • in_han
  • 2013年07月22日 23:40
  • 1707

Android的webview加载本地html、assert内html和收集URL

1 //打开本包内asset目次下的test.html文件 2 wView.loadUrl(" file:///android_asset/test.html ");   3 //打开本地...

Java调整图片大小合并PNG图片生成ICON(保持背景透明)

1.调整图片大小代码/** * * 功能描述: * 〈调整图像到固定大小〉 * * @param srcImageFile 源图像文件地址 * @param descImageFil...

使用photoshop(ps)将图片的背景色变成透明

在前端开发过程中,经常会用到图片(图片背景色是透明色的图片)。有时候设计比较忙,自己学习了一下,总结如下: 第一步,打开Photoshop(ps),并在打开要变为透明色的图片。如下图: 第...
  • lvkelly
  • lvkelly
  • 2017年01月09日 14:14
  • 491

将白色背景图片变透明

package com.picture;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.Fi...

使用GIMP实现图片的背景透明

文章转自:http://blog.csdn.net/hjwang1/article/details/6973953 大家平时逛论坛,发博客都可以自定义头像,这时如果有一枚标新立异的头像往往更能引...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用imagick将图片背景变透明
举报原因:
原因补充:

(最多只允许输入30个字)