コード例 #1
0
 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 錯誤!', '取得尺寸失敗!', '請程式設計者確認狀況!');
     }
 }
コード例 #2
0
 public function getDimension($image = null)
 {
     $image = $image ? $image : $this->_getOldImage($this->format);
     return ImageUtility::createDimension(imagesx($image), imagesy($image));
 }
コード例 #3
0
 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;
 }