a backup of tiff transform.
public function __construct($path,$minSize,$minWidth,$minHeight){
$this->path=$path;
$this->minSize=$minSize;
$this->minWidth=$minWidth;
$this->minHeight=$minHeight;
}
public function setImage(SmallAdds $ad){
$this->today=date('Y-m-d');
$this->fullImagePath=$this->path.$ad->getSitePath().$this->today."/";
if (!is_dir($this->fullImagePath)){
if (!mkdir($this->fullImagePath,0775, true))
throw new \Exception('can not create folder');
}
$this->ad=$ad;
$this->name=uniqid();
}
public function createPhoto(){
try{
$this->photo=new Photo();
$this->photo->setSmallAdds($this->ad);
$imagePath = $this->fullImagePath;
$pngName=$imagePath.$this->name.".png";
$tifName=$imagePath.$this->name.".tif";
$tempImg = new Imagick($pngName);
if ($tempImg->getImageLength()<$this->minSize && $tempImg->getimageheight()<$this->minHeight && $tempImg->getimagewidth()<$this->minWidth){
throw new UnblockException('Image is too small, abandon');
}
//$tempImg->roundCorners(150,150);
$tempImg->writeImage($pngName);
$tempImg->clear();
$tempImg->destroy();
exec("convert ".$pngName." -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:".$tifName."'");
$this->removePng();
$this->photo->setUrl($this->today."/".$this->name.".tif");
return $this->photo;
}catch (\ImagickException $e){
throw new UnblockException($e->getMessage());
}
}
评论
发表评论