From 4ac3ecace2a285b954967ebe7de8d7ef54c4b655 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Mon, 23 Sep 2013 09:45:36 +0200 Subject: [PATCH] use svg to generate filetype icon if imagick available --- lib/private/preview/unknown.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/private/preview/unknown.php b/lib/private/preview/unknown.php index 9e6cd68d401..9c1d41bef5a 100644 --- a/lib/private/preview/unknown.php +++ b/lib/private/preview/unknown.php @@ -20,7 +20,22 @@ class Unknown extends Provider { $path = \OC_Helper::mimetypeIcon($mimetype); $path = \OC::$SERVERROOT . substr($path, strlen(\OC::$WEBROOT)); - return new \OC_Image($path); + if (extension_loaded('imagick')) { + $path = substr_replace($path, 'png', -3); + $content = file_get_contents($path); + + $svg = new \Imagick(); + $svg->setBackgroundColor(new \ImagickPixel('transparent')); + $svg->readImageBlob($content); + $svg->setImageFormat('png32'); + + $image = new \OC_Image(); + $image->loadFromData($svg); + } else { + $image = new \OC_Image($path); + } + + return $image; } }