]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Image.php
[frio] Add a conditional browser share button
[friendica.git] / src / Object / Image.php
index c1da711f9ca14472326283feed129c0fa88d4d59..5cef75180bdb2949f4fac96c903a07bb81d28342 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -134,9 +134,6 @@ class Image
                        switch ($this->getType()) {
                                case "image/png":
                                        $quality = DI::config()->get('system', 'png_quality');
-                                       if ((! $quality) || ($quality > 9)) {
-                                               $quality = PNG_QUALITY;
-                                       }
                                        /*
                                         * From http://www.imagemagick.org/script/command-line-options.php#quality:
                                         *
@@ -150,9 +147,6 @@ class Image
                                        break;
                                case "image/jpeg":
                                        $quality = DI::config()->get('system', 'jpeg_quality');
-                                       if ((! $quality) || ($quality > 100)) {
-                                               $quality = JPEG_QUALITY;
-                                       }
                                        $this->image->setCompressionQuality($quality);
                        }
 
@@ -230,9 +224,13 @@ class Image
                }
 
                if ($this->isImagick()) {
-                       /* Clean it */
-                       $this->image = $this->image->deconstructImages();
-                       return $this->image;
+                       try {
+                               /* Clean it */
+                               $this->image = $this->image->deconstructImages();
+                               return $this->image;
+                       } catch (Exception $e) {
+                               return false;
+                       }
                }
                return $this->image;
        }
@@ -575,6 +573,21 @@ class Image
                return true;
        }
 
+       /**
+        * Convert a GIF to a PNG to make it static
+        */
+       public function toStatic()
+       {
+               if ($this->type != 'image/gif') {
+                       return;
+               }
+
+               if ($this->isImagick()) {
+                       $this->type == 'image/png';
+                       $this->image->setFormat('png');
+               }
+       }
+
        /**
         * @param integer $max maximum
         * @param integer $x   x coordinate
@@ -618,24 +631,6 @@ class Image
                $this->height = imagesy($this->image);
        }
 
-       /**
-        * @param string $path file path
-        * @return mixed
-        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
-        */
-       public function saveToFilePath($path)
-       {
-               if (!$this->isValid()) {
-                       return false;
-               }
-
-               $string = $this->asString();
-
-               $stamp1 = microtime(true);
-               file_put_contents($path, $string);
-               DI::profiler()->saveTimestamp($stamp1, "file");
-       }
-
        /**
         * Magic method allowing string casting of an Image object
         *
@@ -661,10 +656,14 @@ class Image
                }
 
                if ($this->isImagick()) {
-                       /* Clean it */
-                       $this->image = $this->image->deconstructImages();
-                       $string = $this->image->getImagesBlob();
-                       return $string;
+                       try {
+                               /* Clean it */
+                               $this->image = $this->image->deconstructImages();
+                               $string = $this->image->getImagesBlob();
+                               return $string;
+                       } catch (Exception $e) {
+                               return false;
+                       }
                }
 
                ob_start();
@@ -675,16 +674,10 @@ class Image
                switch ($this->getType()) {
                        case "image/png":
                                $quality = DI::config()->get('system', 'png_quality');
-                               if ((!$quality) || ($quality > 9)) {
-                                       $quality = PNG_QUALITY;
-                               }
                                imagepng($this->image, null, $quality);
                                break;
                        case "image/jpeg":
                                $quality = DI::config()->get('system', 'jpeg_quality');
-                               if ((!$quality) || ($quality > 100)) {
-                                       $quality = JPEG_QUALITY;
-                               }
                                imagejpeg($this->image, null, $quality);
                }
                $string = ob_get_contents();
@@ -692,49 +685,4 @@ class Image
 
                return $string;
        }
-
-       /**
-        * supported mimetypes and corresponding file extensions
-        *
-        * @return array
-        * @deprecated in version 2019.12 please use Util\Images::supportedTypes() instead.
-        */
-       public static function supportedTypes()
-       {
-               return Images::supportedTypes();
-       }
-
-       /**
-        * Maps Mime types to Imagick formats
-        *
-        * @return array With with image formats (mime type as key)
-        * @deprecated in version 2019.12 please use Util\Images::getFormatsMap() instead.
-        */
-       public static function getFormatsMap()
-       {
-               return Images::getFormatsMap();
-       }
-
-       /**
-        * @param string $url url
-        * @return array
-        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
-        * @deprecated in version 2019.12 please use Util\Images::getInfoFromURLCached() instead.
-        */
-       public static function getInfoFromURL($url)
-       {
-               return Images::getInfoFromURLCached($url);
-       }
-
-       /**
-        * @param integer $width  width
-        * @param integer $height height
-        * @param integer $max    max
-        * @return array
-        * @deprecated in version 2019.12 please use Util\Images::getScalingDimensions() instead.
-        */
-       public static function getScalingDimensions($width, $height, $max)
-       {
-               return Images::getScalingDimensions($width, $height, $max);
-       }
 }