Ich verwende diesen Befehl, um eine scharfe 512px breite Version einer SVG-Datei zu generieren, die ich habe:
convert -geometry 256 pinterest.svg pinterest.png
Dies ist die Quelldatei:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<path fill="#231F20" d="M8,0C3.582,0,0,3.582,0,8c0,3.275,1.97,6.09,4.789,7.327c-0.022-0.559-0.005-1.229,0.139-1.837
c0.154-0.649,1.029-4.359,1.029-4.359s-0.255-0.51-0.255-1.266c0-1.186,0.687-2.071,1.542-2.071c0.729,0,1.08,0.547,1.08,1.201
c0,0.73-0.467,1.825-0.707,2.838c-0.2,0.85,0.426,1.541,1.262,1.541c1.515,0,2.537-1.947,2.537-4.253
c0-1.753-1.181-3.066-3.329-3.066c-2.427,0-3.938,1.81-3.938,3.831c0,0.697,0.205,1.188,0.528,1.57
C4.824,9.631,4.845,9.7,4.792,9.902c-0.039,0.147-0.126,0.502-0.163,0.643c-0.054,0.202-0.218,0.274-0.401,0.199
C3.11,10.289,2.59,9.064,2.59,7.688c0-2.272,1.916-4.997,5.718-4.997c3.053,0,5.065,2.21,5.065,4.582
c0,3.139-1.746,5.482-4.317,5.482c-0.864,0-1.677-0.467-1.955-0.996c0,0-0.464,1.844-0.562,2.199
c-0.17,0.616-0.502,1.232-0.805,1.713C6.452,15.885,7.213,16,8,16c4.418,0,8-3.582,8-8S12.418,0,8,0z"/>
</svg>
Es entsteht jedoch ein verschwommenes PNG:
Da meine Quelle eine Vektorillustration ist, hatte ich erwartet, ein scharfes Bild zu erhalten. Gibt es eine Möglichkeit dazu?
macos
imagemagick
png
svg
TheFooProgrammer
quelle
quelle
width="16px" height="16px"
in der SVG-Datei. Ändern Sie den Befehl ImageMagick inconvert -resize 3200% pinterest.svg pinterest.png
für ein 512 x 512-Bild. Ich bin mir nicht sicher, ob du auch einen brauchst-geometry 512
oder nicht.-geometry
. Es entsteht ein verschwommenes Bild. Auch-density
funktioniert nicht. Mit Apache Batik konnte ich jedoch meine gewünschten Ergebnisse erzielen.Antworten:
Ich hatte das gleiche Problem, aber ich habe es irgendwie umgangen, indem ich zuerst die Dichte eingestellt habe.
Über die Befehlszeile:
quelle
Da der ursprüngliche DPI 72 und die Pixelgröße 16 x 16 beträgt, beträgt 512/16 * 72 2304.
quelle
Ich habe keine Möglichkeit gefunden, dieses Problem mit ImageMagick zu lösen, aber das Rasterisierungsskript von Apache Batik kann verwendet werden, um das SVG verlustfrei in PNG zu konvertieren und seine Größe zu ändern.
Sehen Sie hier für weitere Informationen.
quelle