From: friendica <info@friendica.com>
Date: Sun, 30 Sep 2012 10:25:20 +0000 (-0700)
Subject: consistent handling of scaled images when using imagick
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=112fafcc81ffd4d53f1bcc230f09e0bcc366983f;p=friendica.git

consistent handling of scaled images when using imagick
---

diff --git a/include/Photo.php b/include/Photo.php
index 4ab58369ec..25a2b70803 100644
--- a/include/Photo.php
+++ b/include/Photo.php
@@ -205,27 +205,6 @@ class Photo {
         if(!$this->is_valid())
             return FALSE;
 
-        if($this->is_imagick()) {
-            /**
-             * If it is not animated, there will be only one iteration here,
-             * so don't bother checking
-             */
-            // Don't forget to go back to the first frame
-            $this->image->setFirstIterator();
-            do {
-
-				// FIXME - implement horizantal bias for scaling as in followin GD functions
-				// to allow very tall images to be constrained only horizontally. 
-
-                $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true);
-            } while ($this->image->nextImage());
-
-			// FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
-			// may rely on it.
-
-            return;
-        }
-
         $width = $this->width;
         $height = $this->height;
 
@@ -283,6 +262,28 @@ class Photo {
         }
 
 
+        if($this->is_imagick()) {
+            /**
+             * If it is not animated, there will be only one iteration here,
+             * so don't bother checking
+             */
+            // Don't forget to go back to the first frame
+            $this->image->setFirstIterator();
+            do {
+
+				// FIXME - implement horizantal bias for scaling as in followin GD functions
+				// to allow very tall images to be constrained only horizontally. 
+
+                $this->image->scaleImage($dest_width, $dest_height);
+            } while ($this->image->nextImage());
+
+			// FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
+			// may rely on it.
+
+            return;
+        }
+
+
         $dest = imagecreatetruecolor( $dest_width, $dest_height );
         imagealphablending($dest, false);
         imagesavealpha($dest, true);
@@ -400,8 +401,6 @@ class Photo {
         if(!$this->is_valid())
             return FALSE;
 
-        if($this->is_imagick())
-            return $this->scaleImage($min);
 
         $width = $this->width;
         $height = $this->height;
@@ -438,6 +437,8 @@ class Photo {
             }
         }
 
+        if($this->is_imagick())
+            return $this->scaleImage($dest_width,$dest_height);
 
         $dest = imagecreatetruecolor( $dest_width, $dest_height );
         imagealphablending($dest, false);
@@ -460,7 +461,7 @@ class Photo {
         if($this->is_imagick()) {
             $this->image->setFirstIterator();
             do {
-                $this->image->resizeImage($dim, $dim, imagick::FILTER_LANCZOS, 1, false);
+                $this->image->scaleImage($dim, $dim);
             } while ($this->image->nextImage());
             return;
         }
diff --git a/mod/item.php b/mod/item.php
index 712174b0ae..de6bce972c 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -994,6 +994,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
 						intval($tagcid),
 						intval($profile_uid)
 				);
+			}
 			else {
 				$newname = str_replace('_',' ',$name);