SVGIconImageList

SVGIconImageList è una libreria di componenti Delphi (sia VCL che Firemonkey) per utilizzare in modo semplice e immediato le immagini SVG (Scalable Vector Graphics) come icone nella propria applicazione. Sono disponibili 4 componenti (TSVGIconImageCollection, TSVGIconVirtualImageList, TSVGIconImageList e TSVGIconImage) per sfruttare le potenzialità delle immagini SVG e 4 engine diversi per il rendering SVG che è possibile scegliere liberamente.

L’idea di questa libreria è nata a partire da considerazioni sullo sviluppo di applicazioni “High-DPI”, come spiegato in questo articolo.

La libreria, sviluppata da Carlo Barazzetta, ha raggiunto grandissima diffusione nel mondo Delphi grazie al fatto che non esiste un supporto nativo per SVG in Delphi, tanto da diventare una libreria di riferimento che può far uso di diversi “engine” messi a disposizione.

Infatti dalla versione 2.4 è stato introdotto un nuovo engine (il quarto) basato sulla libreria Image32 che oltre ad essere performante è anche molto completo a livello di comandi SVG ed è quindi diventato l’engine di default.

Il progetto è disponibile Open-Source su Git-Hub a questo indirizzo:

https://github.com/EtheaDev/SVGIconImageList

 

Versioni Delphi supportate

La versione VCL è disponibile a partire da Delphi XE3 fino all’ultima versione Delphi disponibile e sfrutta 4 engine diversi per il rendering SVG: 

– Image32 nativa in Delphi (engine di default)

– Delphi TSVG che utilizza GDI+

– Un wrapper al supporto nativo Direct2D fornito da Windows 10 (se disponibile). 

– Un wrapper rispetto alla libreria Cairo

Se nel repository non ci sono i package specifici per la vostra versione di Delphi basta partire dalla versione più vicina per generarli.

La versione FMX è ora compatibile anche con Android e iOS ed è disponibile da Delphi 10.2 fino all’ultima versione Delphi disponibile.

Component Editor (VCL e FMX)

Entrambi i componenti IconFontsImageList (VCL e FMX) hanno un comodissimo Component Editor per gestire facilmente la raccolta di icone da utilizzare nella propria applicazione Delphi.

Licenza e Supporto

  • Il progetto è rilasciato con licenza open-source Apache 2.0
  • Direttamente sul progetto Git-Hub è possibile segnalare problemi nella sezione “issue”: verranno prontamente presi in carico e risolti.

Demo

All’interno del progetto sono presenti alcune Demo (sia VCL che FMX) che mostrano in modo intuitivo il funzionamento dei componenti. Per confrontare le performance dei 4 engine disponibili c’è una comoda applicazione (SVGViewer) che permette di navigare nei file svg disponibili su disco e osservare il modo con cui vengono disegnati.

Documentazione

Sempre all’interno del progetto su Git-Hub c’è una ricca sezione nella “Wiki”:

https://github.com/EtheaDev/SVGIconImageList/wiki

Trovate anche una comoda sezione di domande e risposte (FAQ):

https://github.com/EtheaDev/SVGIconImageList/wiki/FAQ

 

Case studies

Ethea utilizza con successo IconFontsImage List in tutte le sue app moderne, come quelle sviluppate con InstantSolutions Framework 7 oppure Basket Scouting.

E’ possibile anche vedere il componente all’opera nel progetto VCLThemeSelector all’interno della ModernAppDemo.

Altri progetti che utilizzano SVGIconImageList sono:

– SVGShellExtensions (vedi qui)

– FExplorer (vedi qui)

Contatti

Se vi serve supporto/consulenza per utilizzare questo componente nelle vostre applicazioni, contattateci tramite il form presente sul sito.