我不完全知道如何正确表达这个问题,所以我会尝试一下:
看到这个页面上的光栅化 SVG 了吗?看起来很扭曲,而且 - 对不起,语言 - 相当糟糕。现在让我们将其与此处的进行比较。它们都具有完全相同的 SVG 文件,并且源代码在 wikitext 中是相同的。不同之处在于光栅化的“缩略图”是如何生成的,看起来。
我从 MediaWiki 得到的结果。
预期的结果。
从我注意到的情况来看——如果我错了,请纠正我——维基百科和维基百科要么为 SVG 创建几个光栅化缩略图,要么只是根据页面所需的大小按需生成它们。然而默认情况下,MediaWiki 只生成一个缩略图,这意味着它与原始 SVG 具有相同的分辨率 - 当将小 SVG 光栅化为大图像时,这会给我们带来模糊和 **** 的光栅图像。
要么,要么SVG在缩略图/光栅化之前没有被缩放/调整大小,当它们应该的时候。
只是提醒一下,这里有一些来自我的 LocalSettings.php:
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg',
'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'ogg', 'svg',
'woff', 'eot', 'woff2'
);
// $wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -background white -thumbnail $widthx$height^! $input PNG:$output';
// $wgSVGConverters['ImageMagick'] = '$path/convert -density $width -geometry $width $input PNG:$output';
$wgSVGConverters['ImageMagick'] = '$path/convert -density 1200 -background none -geometry $width $input PNG:$output';
$wgSVGConverters['rsvg'] = '/usr/bin/rsvg-convert -w $width -h $height $input -o $output';
$wgSVGConverter = 'ImageMagick';
// $wgSVGConverter = 'rsvg';
$wgSVGMaxSize = 2048;
$wgMaxImageArea = 1.25e7;
$wgMaxAnimatedGifArea = 1.0e6;
$wgUseImageResize = true;
$wgGenerateThumbnailOnParse = true;
那么...如果缺少缩略图是问题的原因,我该如何启用多个缩略图?这甚至是问题的根源吗?如果没有,我没有得到预期结果的真正原因是什么?我能做些什么?
编辑:已经通过切换到 ImageMagick 到 RSVG 来解决。