Heim  >  Artikel  >  Backend-Entwicklung  >  php Imagick , 怎么使用Imagick裁切图片

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

WBOY
WBOYOriginal
2016-06-13 11:43:181294Durchsuche

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 />

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn