summaryrefslogtreecommitdiffstats
path: root/lib/private/preview
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/preview')
-rw-r--r--lib/private/preview/unknown.php17
1 files changed, 16 insertions, 1 deletions
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;
}
}