30 lines
949 B
GDScript
30 lines
949 B
GDScript
extends SceneTree
|
|
## SVG zu PNG über Godots eigenen Importer (ThorVG). Zeigt, was Godot wirklich darstellt.
|
|
## godot --headless --path preview -s render_svg.gd -- in.svg out.png [scale]
|
|
|
|
func _init() -> void:
|
|
var args := OS.get_cmdline_user_args()
|
|
if args.size() < 2:
|
|
printerr("Aufruf: -- in.svg out.png [scale]")
|
|
quit(1)
|
|
return
|
|
var scale := float(args[2]) if args.size() > 2 else 1.0
|
|
var text := FileAccess.get_file_as_string(args[0])
|
|
if text == "":
|
|
printerr("Kann nicht lesen: " + args[0])
|
|
quit(1)
|
|
return
|
|
var img := Image.new()
|
|
var err := img.load_svg_from_string(text, scale)
|
|
if err != OK:
|
|
printerr("SVG-Fehler %d" % err)
|
|
quit(1)
|
|
return
|
|
err = img.save_png(args[1])
|
|
if err != OK:
|
|
printerr("PNG-Fehler %d" % err)
|
|
quit(1)
|
|
return
|
|
print("%s %dx%d" % [args[1], img.get_width(), img.get_height()])
|
|
quit(0)
|