ImageMagick sucks at vector graphics, so only use for rasterization
This commit is contained in:
parent
4c2bbf2354
commit
d7fd507d99
@ -47,6 +47,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
|
|||||||
class ImageMagickPlugin extends Plugin
|
class ImageMagickPlugin extends Plugin
|
||||||
{
|
{
|
||||||
public $preview_imageformat = 'PNG'; // Image format strings: http://www.imagemagick.org/script/formats.php#supported
|
public $preview_imageformat = 'PNG'; // Image format strings: http://www.imagemagick.org/script/formats.php#supported
|
||||||
|
public $rasterize_vectors = false; // Whether we want to turn SVG into PNG etc.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ImageFile $file An ImageFile object we're getting metadata for
|
* @param ImageFile $file An ImageFile object we're getting metadata for
|
||||||
@ -101,17 +102,24 @@ class ImageMagickPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
switch ($file->mimetype) {
|
switch ($file->mimetype) {
|
||||||
case 'image/svg+xml':
|
case 'image/svg+xml':
|
||||||
// Let's save our frame to a temporary file. If we fail, remove it.
|
if (!$this->rasterize_vectors) {
|
||||||
$imgPath = tempnam(sys_get_temp_dir(), 'socialthumb-');
|
// ImageMagick seems to be hard to trick into scaling vector graphics...
|
||||||
if (!$this->createImagePreview($file, $imgPath)) {
|
|
||||||
common_debug('Could not create ImageMagick preview of File id=='.$file->id);
|
|
||||||
@unlink($imgPath);
|
|
||||||
$imgPath = null;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
break;
|
||||||
|
default:
|
||||||
|
// If we don't know the format, let's try not to mess with anything.
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
$imgPath = tempnam(sys_get_temp_dir(), 'socialthumb-');
|
||||||
|
if (!$this->createImagePreview($file, $imgPath)) {
|
||||||
|
common_debug('Could not create ImageMagick preview of File id=='.$file->id);
|
||||||
|
@unlink($imgPath);
|
||||||
|
$imgPath = null;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function createImagePreview(File $file, $outpath)
|
protected function createImagePreview(File $file, $outpath)
|
||||||
|
Loading…
Reference in New Issue
Block a user