imagemagick square to circle crop并合并为图标

时间:2011-09-10 20:29:28

标签: php image-processing imagemagick

我正在通过PHP使用ImageMagick,并希望扩展此资源:

http://joedesigns.com/v22/?page=scripts_widgets&id=15

<?php

function sqThm($src,$dest,$size=75){

            $squareSize = 70;

            list($w,$h) = getimagesize($src);

            if($w > $h){
               exec("convert ".$src." -resize x".$size." -quality 100 ".$dest);
            }else{
               exec("convert ".$src." -resize ".$size." -quality 100 ".$dest);
            }

            exec("convert ".$dest." -gravity Center -crop ".$size."x".$size."+0+0 ".$dest);

}

if(!$_GET[imgtosquare]){

   print "
   <p>Click on the image you want to conver to a square.</p>
   <p><a href='index.php?imgtosquare=1'><img src='gfx/1.jpg' border='0'></a></p>
   <p><a href='index.php?imgtosquare=2'><img src='gfx/2.jpg' border='0'></a></p>
   ";

}else{

   if($_GET[imgtosquare] != '1' && $_GET[imgtosquare] != '2'){ exit; }

   sqThm("gfx/".$_GET[imgtosquare].".jpg","gfx/".$_GET[imgtosquare]."_squared.jpg");

   print "
   <p>Here is your squared image.</p>
   <p><img src='gfx/".$_GET[imgtosquare]."_squared.jpg' border='0'></p>
   ";

}

?>

...拍摄图像并生成我想要保存的flickr风格平方图像,但还需要进一步处理:

icon base

并将其作为附加保存文件生成:

end result

(注意方格区域是透明的)

如何修改脚本来执行此操作?此外,请注意我希望处理大量这些图像,因此执行效率也很重要。最后 - 所有结果图像的格式为PNG,但输入文件可能是JPG。

1 个答案:

答案 0 :(得分:1)

examples book有关于ImageMagick用法的所有可以想象的例子。检查一下。

Masks章节应该有助于实现目标,但可能需要您进一步修改粉红色原始图像。