2010-06-03 15 views
68

Mi chiedo come il disegno vettoriale in Android con la classe Shape possa assomigliare a un altro standard di disegno vettoriale.da SVG a Android

Poiché Shape è un Drawable e i Drawable sono in genere definiti come XML, somiglia molto ai comandi di disegno vettoriale in SVG.

La mia domanda è questa: qualcuno ha creato una trasformazione XSLT o un altro meccanismo per convertire una descrizione di disegno SVG in forme Android?

+0

Sto anche cercando qualcosa di simile e sono abbastanza perplesso perché questo non è stato implementato jet. Come hai detto, sarebbe sufficiente una semplice trasformazione dei comandi di disegno (almeno per un sottoinsieme di SVG). A volte lo ho fatto anche manualmente per forme molto semplici (la definizione degli sfondi dei pulsanti con sfumature come questa è ottima) e sono più o meno all'oscuro delle specifiche SVG. – PSIXO

+4

Ottima domanda, chiamata sbagliata per chiuderla. Penso che sia un'idea fantastica avere un convertitore da SVG a Shape. Ne posso scrivere uno, ma odio XSLT quindi probabilmente lo farei usando C# o suppongo che dovrebbe essere Java. –

+1

Ti suggerirei di utilizzare VectorDrawable. La soluzione migliore che ho trovato è la libreria BetterVectorDrawable insieme a SVG to VectorDrawable Converter. ** BetterVectorDrawable ** è l'implementazione VectorDrawable per Android 4.0+ con comportamento fallback configurabile su Android 5.0+. ** SVG to VectorDrawable Converter ** è il convertitore batch di immagini SVG in file di risorse XML VectorDrawable Android. Versione online: http: //a-student.github.io/SvgToVectorDrawableConverter.Web/ –

risposta

6

La cosa più vicina che ho trovato è stato svg4mobile.

Mentre non credo che faccia le trasformazioni in XML Drawables, legge il svg e effettua le chiamate appropriate alle classi Drawable.

11

Beh, non esattamente. Ma ho portato libsvg ad Android, che ti permette di caricare i file SVG e di tracciarli su una tela.

Si prega di check-out:

https://launchpad.net/libsvg-android

+0

Il sito web dice che devi scaricare usando il bazar, abbastanza semplice! –

+5

Se solo non fosse GPL! Solo buono per il software gratuito, solo così sai –

+0

@AntonP hai appena provato lib con un'immagine creata con inkscape, circa 300kb. Questo non può rendere: errore memoria esaurita :)) –

2

Oltre alle 2 biblioteche GPL detto, c'è una libreria commerciale denominata TinyLine che implementa il Tiny sottoinsieme SVG, che anche se più limitato può essere una scelta migliore di licenza, se si desidera creare un'applicazione non GPL.

2

la grande AndEngine ha un'estensione per il carico SVG e rasterizzazione nella trama con qualsiasi resolut ione, con sostituzione del colore e altre grandi caratteristiche. Funziona davvero Ad esempio, puoi provare a free game dall'autore del motore.

Nota: il motore più adatto per giochi 2D a schermo intero e si basa sulla vista OpenGL 2. LGPL

+0

"Il grande AndEngine ..." meglio dire "Il grande buggy AndEngine ... " –