if __name__ == "__main__": try: opts, args = getopt.getopt (argv[1:], 'o:h', ['width=', 'height=', 'output=', 'help']) except getopt.GetoptError: usage () output = None width = None height = None for o, a in opts: if o in ('-o', '--output'): output = str (a) elif o == '--width': width = int (a) elif o == '--height': height = int (a) elif o in ('-h', '--help'): usage () if len (args) == 0: usage () file = args[0]
if not exists (file): usage ()
svg = rsvg.Handle (file = file)
if not output: if file[-4:] == ".svg": file = file[:-4] output = "%s.png" % file base = "%s%d.png" i = 1 while exists (output): output = base % (file, i) i += 1
if width == 0 and height == 0: width = svg.props.width height = svg.props.width elif width != 0: ratio = float (width) / svg.props.width height = int (ratio * svg.props.height) elif height != 0: ratio = float (height) / svg.props.height width = int (ratio * svg.props.width)
Pas besoin d'explications, l'usage étant assez simple: svntopng [--width largeurenpx] [--height hauteurenpx] [-o nomfichiersortie] nomfichierentree
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de la doc (plein ^^) et parcourir le svg via pour en dessiner un png, mais la je ne saurai pas t'aider plus :( Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
a+
"Antoine" <noemail@noemail.invalid> a écrit dans le message de
news:Xns9B04124265EA4AntoineNews@193.252.117.183...
Bonsoir,
je recherche une solution pour convertir en php des images svg en images
png avec les
contraintes suivantes :
- le serveur n'a pas et ne peut pas avoir imagemagick d'installé
- idéalement, la conversion devrait être capable de préserver
l'anticrénelage des svg
Merci d'avance,
Antoine
Un solution simple si tu as les packages python installés sur ton serveur
est d'executer via php ce script assez sympatique fait par un français:
#!/usr/bin/python
'''svgtopng - SVG to PNG converter
Copyright (c) 2007 Guillaume Seguin <guillaume@segu.in>
Licensed under GNU GPLv2'''
import cairo
import rsvg
from sys import argv
from os.path import exists
import getopt
if __name__ == "__main__":
try:
opts, args = getopt.getopt (argv[1:], 'o:h',
['width=', 'height=', 'output=',
'help'])
except getopt.GetoptError:
usage ()
output = None
width = None
height = None
for o, a in opts:
if o in ('-o', '--output'):
output = str (a)
elif o == '--width':
width = int (a)
elif o == '--height':
height = int (a)
elif o in ('-h', '--help'):
usage ()
if len (args) == 0:
usage ()
file = args[0]
if not exists (file):
usage ()
svg = rsvg.Handle (file = file)
if not output:
if file[-4:] == ".svg":
file = file[:-4]
output = "%s.png" % file
base = "%s%d.png"
i = 1
while exists (output):
output = base % (file, i)
i += 1
if width == 0 and height == 0:
width = svg.props.width
height = svg.props.width
elif width != 0:
ratio = float (width) / svg.props.width
height = int (ratio * svg.props.height)
elif height != 0:
ratio = float (height) / svg.props.height
width = int (ratio * svg.props.width)
Pas besoin d'explications, l'usage étant assez simple:
svntopng [--width largeurenpx] [--height hauteurenpx] [-o nomfichiersortie]
nomfichierentree
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de la doc
(plein ^^) et parcourir le svg via pour en dessiner un png, mais la je ne
saurai pas t'aider plus :(
Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
if __name__ == "__main__": try: opts, args = getopt.getopt (argv[1:], 'o:h', ['width=', 'height=', 'output=', 'help']) except getopt.GetoptError: usage () output = None width = None height = None for o, a in opts: if o in ('-o', '--output'): output = str (a) elif o == '--width': width = int (a) elif o == '--height': height = int (a) elif o in ('-h', '--help'): usage () if len (args) == 0: usage () file = args[0]
if not exists (file): usage ()
svg = rsvg.Handle (file = file)
if not output: if file[-4:] == ".svg": file = file[:-4] output = "%s.png" % file base = "%s%d.png" i = 1 while exists (output): output = base % (file, i) i += 1
if width == 0 and height == 0: width = svg.props.width height = svg.props.width elif width != 0: ratio = float (width) / svg.props.width height = int (ratio * svg.props.height) elif height != 0: ratio = float (height) / svg.props.height width = int (ratio * svg.props.width)
Pas besoin d'explications, l'usage étant assez simple: svntopng [--width largeurenpx] [--height hauteurenpx] [-o nomfichiersortie] nomfichierentree
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de la doc (plein ^^) et parcourir le svg via pour en dessiner un png, mais la je ne saurai pas t'aider plus :( Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
a+
Antoine
Aurelien Lebrun wrote :
"Antoine" a écrit dans le message de news:
Bonsoir,
je recherche une solution pour convertir en php des images svg en images png avec les contraintes suivantes :
- le serveur n'a pas et ne peut pas avoir imagemagick d'installé - idéalement, la conversion devrait être capable de préserver l'anticrénelage des svg
Merci d'avance, Antoine
Un solution simple si tu as les packages python installés sur ton serveur est d'executer via php ce script assez sympatique fait par un français:
J'ai !
<snip>
Pas besoin d'explications, l'usage étant assez simple: svntopng [--width largeurenpx] [--height hauteurenpx] [-o nomfichiersortie] nomfichierentree
J'ai pris bonne note de tout ça.
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de la doc (plein ^^)
Oui, plein plein.
et parcourir le svg via pour en dessiner un png, mais la je ne saurai pas t'aider plus :( Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
Un grand merci, Aurélien, pour cette piste que je vais tester dès demain.
Bonne fin de week-end à tous, Antoine
Aurelien Lebrun <NOaurelien.SPAMlebrun@gmail.com> wrote :
"Antoine" <noemail@noemail.invalid> a écrit dans le message de
news:Xns9B04124265EA4AntoineNews@193.252.117.183...
Bonsoir,
je recherche une solution pour convertir en php des images svg en
images png avec les
contraintes suivantes :
- le serveur n'a pas et ne peut pas avoir imagemagick d'installé
- idéalement, la conversion devrait être capable de préserver
l'anticrénelage des svg
Merci d'avance,
Antoine
Un solution simple si tu as les packages python installés sur ton
serveur est d'executer via php ce script assez sympatique fait par
un français:
J'ai !
<snip>
Pas besoin d'explications, l'usage étant assez simple:
svntopng [--width largeurenpx] [--height hauteurenpx] [-o
nomfichiersortie] nomfichierentree
J'ai pris bonne note de tout ça.
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de
la doc (plein ^^)
Oui, plein plein.
et parcourir le svg via pour en dessiner un png,
mais la je ne saurai pas t'aider plus :(
Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
Un grand merci, Aurélien, pour cette piste que je vais tester dès demain.
je recherche une solution pour convertir en php des images svg en images png avec les contraintes suivantes :
- le serveur n'a pas et ne peut pas avoir imagemagick d'installé - idéalement, la conversion devrait être capable de préserver l'anticrénelage des svg
Merci d'avance, Antoine
Un solution simple si tu as les packages python installés sur ton serveur est d'executer via php ce script assez sympatique fait par un français:
J'ai !
<snip>
Pas besoin d'explications, l'usage étant assez simple: svntopng [--width largeurenpx] [--height hauteurenpx] [-o nomfichiersortie] nomfichierentree
J'ai pris bonne note de tout ça.
Sinon sans utiliser imagemagick, il ne te reste plus qu'a lire de la doc (plein ^^)
Oui, plein plein.
et parcourir le svg via pour en dessiner un png, mais la je ne saurai pas t'aider plus :( Tu peux partir d'ici : http://www.libpng.org/pub/png/pngdocs.html
Un grand merci, Aurélien, pour cette piste que je vais tester dès demain.