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.