protected function Error($errObj, $exit = false) { $str = "Image Creator (MagickWand) Error Message"; $err_msg = ""; //$err_msg .= WandGetExceptionString($errObj); switch (true) { case IsMagickWand($errObj): $err_msg .= MagickGetExceptionString($errObj); break; case IsDrawingWand($errObj): $err_msg .= DrawGetExceptionString($errObj); break; case IsPixelWand($errObj): case IsPixelIterator($errObj): $err_msg .= PixelGetExceptionString($errObj); break; default: $err_msg .= $errObj; } if (!empty($err_msg)) { $str .= "(" . $err_msg . ")"; } parent::Error($str, $exit); return; }
function createThumb($objWidth, $objHeight, $nmw = "") { $srcImage = $this->src_image_name; if (!IsMagickWand($nmw)) { $nmw = NewMagickWand(); MagickReadImage($nmw, $srcImage); } $srcImageWidth = MagickGetImageWidth($nmw); $srcImageHeight = MagickGetImageHeight($nmw); if ($objWidth == 0 || $objHeight == 0) { $objWidth = $srcImageWidth; $objHeight = $srcImageHeight; } if ($objWidth < $objHeight) { $mu = $srcImageWidth / $objWidth; $objHeight = ceil($srcImageHeight / $mu); } else { $mu = $srcImageHeight / $objHeight; $objWidth = ceil($srcImageWidth / $mu); } MagickScaleImage($nmw, $objWidth, $objHeight); $ndw = NewDrawingWand(); DrawComposite($ndw, MW_AddCompositeOp, 0, 0, $objWidth, $objHeight, $nmw); $res = NewMagickWand(); MagickNewImage($res, $objWidth, $objHeight); MagickDrawImage($res, $ndw); MagickSetImageFormat($res, MagickGetImageFormat($nmw)); return $res; }