DataObjects/Images.php
[Pman.Core] / DataObjects / Images.php
index ee2b3fa..d024fcf 100644 (file)
@@ -830,45 +830,9 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         
         $data = file_get_contents($file);
         
-//        if(!empty($scaleWidth) || !empty($scaleHeight)){
-//            
-//            $width = $this->width;
-//            $height = $this->height;
-//            
-//            if(!empty($scaleWidth)){
-//                $width = $scaleWidth;
-//
-//                if(empty($scaleHeight)){
-//                    $height = $this->height * $scaleWidth / $this->width;
-//                }
-//            }
-//            
-//            
-//
-//            if(!empty($scaleHeight)){
-//                $height = $scaleHeight;
-//
-//                if(empty($scaleWidth)){
-//                    $width = $this->width * $scaleHeight / $this->height;
-//                }
-//            }
-//            
-//            $im = imagecreatefromstring($data);
-//            
-//            if (($scaled = imagescale($im, $width, $height)) != false) {
-//                ob_start();
-//                imagejpeg($scaled);
-//                $data = ob_get_contents();
-//                ob_end_clean();
-//                imagedestroy($im);
-//                imagedestroy($scaled);
-//            }
-//            
-//        }
-        
-//        if(!empty($scaleWidth) || !empty($scaleHeight)){
-//            $data = $this->scale($scaleWidth, $scaleHeight);
-//        }
+        if(!empty($scaleWidth) || !empty($scaleHeight)){
+            $data = $this->scale(false, $scaleWidth, $scaleHeight);
+        }
         
         if($rotate){
             $data = $this->rotate($data);
@@ -919,7 +883,7 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         }
         
         $orientation = $imagick->getImageOrientation(); 
-        print_R($orientation);exit;
+        
         switch($orientation) { 
             case Imagick::ORIENTATION_BOTTOMRIGHT: 
                 $imagick->rotateimage(new ImagickPixel('#00000000'), 180); // rotate 180 degrees 
@@ -937,8 +901,18 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         return $imagick->getImageBlob();
     }
     
-    function scale($width, $height)
+    function scale($imageBlob = false, $width = 0, $height = 0)
     {
+        if(empty($imageBlob)){
+            $imagick = new Imagick($this->getStoreName());
+        } else {
+            $imagick = new Imagick();
+            $imagick->readImageBlob($imageBlob);
+        }
+        
+        $imagick->resizeimage($width, $height, Imagick::FILTER_LANCZOS, true, true);
+        
+        return $imagick->getImageBlob();
         
     }