public function getDimension($image = null) { $image = $image ? $image : $this->image->clone(); if (!(($imagePage = $image->getImagePage()) && isset($imagePage['width']) && isset($imagePage['height']) && intval($imagePage['width']) > 0 && intval($imagePage['height']) > 0)) { $imagePage = $image->getImageGeometry(); } if (isset($imagePage['width']) && isset($imagePage['height']) && intval($imagePage['width']) > 0 && intval($imagePage['height']) > 0) { return ImageUtility::createDimension($imagePage['width'], $imagePage['height']); } else { throw new ImageUtilityException('ImageImagickUtility 錯誤!', '取得尺寸失敗!', '請程式設計者確認狀況!'); } }
public function getDimension($image = null) { $image = $image ? $image : $this->_getOldImage($this->format); return ImageUtility::createDimension(imagesx($image), imagesy($image)); }
protected function calcImageSizeStrict($oldDimension, $newDimension) { $newSize = ImageUtility::createDimension($newDimension['width'], $newDimension['height']); if ($newDimension['width'] >= $newDimension['height']) { if ($oldDimension['width'] > $oldDimension['height']) { $newSize = $this->calcHeight($oldDimension, $newDimension); if ($newSize['width'] < $newDimension['width']) { $newSize = $this->calcWidth($oldDimension, $newDimension); } } else { if ($oldDimension['height'] >= $oldDimension['width']) { $newSize = $this->calcWidth($oldDimension, $newDimension); if ($newSize['height'] < $newDimension['height']) { $newSize = $this->calcHeight($oldDimension, $newDimension); } } } } else { if ($newDimension['height'] > $newDimension['width']) { if ($oldDimension['width'] >= $oldDimension['height']) { $newSize = $this->calcWidth($oldDimension, $newDimension); if ($newSize['height'] < $newDimension['height']) { $newSize = $this->calcHeight($oldDimension, $newDimension); } } else { if ($oldDimension['height'] > $oldDimension['width']) { $newSize = $this->calcHeight($oldDimension, $newDimension); if ($newSize['width'] < $newDimension['width']) { $newSize = $this->calcWidth($oldDimension, $newDimension); } } } } } return $newSize; }