imagick怎么创建半透明背景png图片?
btw:有没有imagick的中文教程资料?

解决方案 »

  1.   

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