>  기사  >  백엔드 개발  >  php Imagick , 怎么使用Imagick裁切图片

php Imagick , 怎么使用Imagick裁切图片

WBOY
WBOY원래의
2016-06-13 11:43:181287검색

php Imagick 求助, 如何使用Imagick裁切图片
我需要 景某个PDF文档中的某一页裁切其中一部分, 生成一新的png格式的文档.
gd不支持PDF格式,  Imagick 支持打开pdf, 并将其中一页转成PNG, 但是如何将此页的一部分裁切出来呢

参考代码来自网络
代码如下

<br /> function pdf2png($pdf,$path,$page=-1)<br />{  <br />   if(!extension_loaded('imagick'))<br />   {  <br />       return false;  <br />   }  <br />   if(!file_exists($pdf))<br />   {  <br />       return false;  <br />   }  <br />   $im = new Imagick();  <br />   $im->setResolution(600,600);  <br />   $im->setCompressionQuality(100);<br />   if($page==-1)   <br />      $im->readImage($pdf);<br />   else<br />      $im->readImage($pdf."[".$page."]");<br />   foreach ($im as $Key => $Var)<br />   {  <br />       $height=$Var->getImageHeight();//取得原图的高度<br />       $width=$Var->getImagewidth();//取得原图的宽度<br />       //echo "H".$height."w:". $width;<br />       $im_cut = new Imagick();  //这里设置新图的实例<br />       $im_cut->setResolution(600,600); //分辨率<br />       $im_cut->setCompressionQuality(100);//压缩率<br />//       $im_cut->setImageFormat('png'); //设置新图的格式 这里出错<br />//       $im_cut->setImageType (0);<br />//       $im_cut->      接下来不知道如何做了 <br />//如何设置新图的高度长度 <br />//如何把 $var中的一部分复制到新图,<br />//如何保存新图<br /><br />       <br />       $Var->setImageFormat('png');  <br />       $Var->setImageType (0);<br />       $filename = $path."/". md5($Key.time()).'.png';<br />       if($Var->writeImage($filename) == true)<br />       {  <br />           $Return[] = $filename;  <br />       }  <br />   }  <br />   return $Return;  <br />}  <br />

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.