J'ai un dessin animé avec plusieurs couches; parmi ces couches, j'ai une couche allemande et une couche anglaise. Ils ont le texte dans leurs langues respectives. L'idée est de masquer le calque allemand et d'afficher le calque anglais et d'exporter en tant que dessin animé anglais ou de masquer le calque anglais et d'afficher le calque allemand pour une version allemande du dessin animé. Je voudrais scénariser cette exportation.
Voici une partie de mon fichier SVG:
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="English"
style="display:inline">
<text
xml:space="preserve"
<!-- .... -->
id="text3255">
<tspan id="tspan3257">I don't think</tspan>
<!-- ... -->
et
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="German"
style="display:none">
<text
xml:space="preserve"
<!-- ... -->
id="text3284">
<tspan id="tspan3286">Ich glaube nicht,</tspan>
<!-- ... -->
J'ai vu /programming/9652573/inkscape-command-line-programming et essayé cette commande (et de nombreuses variantes):
inkscape -z --file=cartoon.svg --select=English --verb=LayerHideAll --select=German --verb=LayerShowAll --export-png=cartoon-de.png --export-area-drawing
Mais je continue à recevoir le texte anglais, probablement parce que lorsque j'ai enregistré le fichier, le calque anglais était visible et le calque allemand ne l'était pas.
J'ai également essayé de sélectionner les couches par leurs identifiants (dans le code au-dessus de layer3 et layer4, respectivement), et de sélectionner les <text>
éléments réels ; J'ai essayé différentes combinaisons de verbes Inkscape. Mais pas de chance non plus.
Comment puis-je créer un script pour cette exportation en masquant ou en affichant la couche de langue selon les besoins? Puis-je le faire avec les verbes Inkscape ou dois-je travailler avec le XML et essayer de définir l'attribut style pour afficher: inline ou display: none?
display:...
que cela se brise si vous avez déjà d'autres attributs de style comme l'opacité. J'ai mis à jour la réponse.