Skip to content
Carlo Barazzetta edited this page May 3, 2024 · 67 revisions

Welcome to the IconFontsImageList guide (VCL & FMX)

Actual official version 3.3.2 (VCL+FMX)

Component Description
https://github.com/EtheaDev/IconFontsImageList/blob/master/Packages/IconFontsImageCollectionComponentIcon.png TIconFontsImageCollection is collection of "Icon Fonts" for Delphi to provide a centralized list of images for IconFontsVirtualImageList (only for VCL)
https://github.com/EtheaDev/IconFontsImageList/blob/master/Packages/IconFontsVirtualImageListComponentIcon.png TIconFontsVirtualImageList is a special "virtual" ImageList for Delphi linked to an IconFontsImageCollection (only for VCL) to simplify use of "Font Icons" (resize, color and more...)
https://github.com/EtheaDev/IconFontsImageList/blob/master/Packages/IconFontsImageComponentIcon.png TIconFontImage is an extended Image component for Delphi (VCL+FMX) to show any Icon Font directly or included into a an IconFontsImageList with all functionality (stretch, color, opacity and more...)
https://github.com/EtheaDev/IconFontsImageList/blob/master/Packages/IconFontsImageListComponentIcon.png TIconFontsImageList is an extended ImageList for Delphi (VCL+FMX) to simplify use of Icon Fonts (resize, color and more...). Use only for simple application with one form.

Installation

Clone repository, open Package Group "IconFontsImageGroupPackages.groupproj" of your Delphi version located in: IconFontsImageList\Packages\DXXX. For Delphi7 the file to open is "IconFontsImageListPackage.bpg".

Open your package group from \svgIconImageList\Packages\DelphiVersion folder, (for example IconFontsImageGroupPackages.groupproj), then buil all run-time packages and install design-time packages.

Very important notice:

TVirtualImageList (available from D10.3) and TIconFontsVirtualImageList both use images from TIconFontsImageCollection. An important difference is that TVirtualImageList may use and create only a subset of the images in the collection, whereas TIconFontsVirtualImageList creates all images of the collection everytime it is needed (e,g. DPI change), which is slower and consumes more memory.

We advise that TIconFontsVirtualImageList should be used only for versions of Delphi before 10.3. For recent versions of Delphi the recommended combination should be TIconFontsImageCollection + TVirtualImageList. Don't forget also the importance of TVirtualImageList.PreserveItems when you have a large ImageCollection with many linked Actions. Without setting this property to "True", everytime you add or remove an icon in the collection, you have to check and change the ImageIndex of all the Actions.

Index help guide

Go to the Index of the guide form complete support!

The VCL components are compatible with Delphi versions starting from Delphi 7 to actual version.

The FMX components are compatible with Delphi versions starting 10.1 to actual version.

In this repository you can find all the sources of components and some demos.

Full support for GDI+ (from DXE4) for perfect rendering of Icons: look here for more informations.

Full support for Fonts collections with surrogate pair characters and a complete CharMap form (VCL only) to show and collect icons more easily: look here for more informations.

Preview

This image shows the component editor and the CharMap (VCL version) https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/Sample.jpg

This image shows the demo and the component editor (FMX version) https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/SampleFMX.jpg

Quick overview of IconFontsImageList VCL Version

Use the advanced Component Editor (VLC) to easily create your Font Icons, from different Fonts:

https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/ImageEditor.jpg

From D10.3: use TIconFontsImageCollection with native TVirtualImageList

https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/IconFontsImageCollectionNativeVirtualImageList.jpg

For recent versions of Delphi the recommended combination should be TIconFontsImageCollection + TVirtualImageList. Don't forget also the importance of PreserveItems when you have a large ImageCollection with many linked Actions. Without setting this property to "True", everytime you add or remove an icon in the collection, you have to check and change the ImageIndex of all the Actions.

Change the color of all Icons of your application with "one line of code", according to the active VCL Style:

https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/DemoChangeStyle.gif

Resize Icons at any pixel size is very simple:

https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/DemoChangeSize.gif

Quick overview of IconFontsImageListFMX and IconFontImageFMX

Use the advanced Component Editor (FMX) to easily create your Font Icons, from different Fonts, and automatically synchronize source and destination icon collection:

https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/ImageEditorFMX.jpg

For FMX you can use two components: TIconFontsImageListFMX and TIconFontImageFMX.

With TIconFontsImageListFMX you can easily create your Font Icons, from different Fonts, with autoresize support.

With TIconFontImageFMX you can use a single Font Icon into a Image component with autoresize support.

You can use any "Icon Font": remember to deploy them with you app and install them into the device.

Prerequisites

The Demos uses the materialdesignicons-webfont.ttf Icon-Font, so you must install it in your system.

WARNING:

Take care of different versions of the same Font, as explained here: Deploy of the application.

License

Licensed under the Apache License, Version 2.0, (the "License")

Contributors

Any contribution is welcome!