Skip to content

Four advanced components to simplify use of Icon Fonts as images and ImageList: TIconFontImage, TIconFontsImageCollection, TIconFontsVirtualImageList, TIconFontsImageList (for VCL and FMX). Full support for High-DPI apps. Rendering optimized with GDI+

License

EtheaDev/IconFontsImageList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IconFontsImageList License

Four advanced components to simplify use of Icon Fonts as images and ImageList (for VCL and FMX). Full support for High-DPI apps. Rendering optimized with GDI+

Actual official version 3.3.2 (VCL+FMX)

Component Description
IconFontsImageCollectionComponentIcon.png TIconFontsImageCollection is collection of "Icon Fonts" for Delphi to provide a centralized list of images for IconFontsVirtualImageList (only for VCL)
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...)
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...)
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.

Available from Delphi 7 to Delphi 12 (32bit and 64bit platforms)

Delphi Support

Related links: https://www.embarcadero.com/ - https://learndelphi.org/

Sample image of VCL version https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/Sample.jpg

Sample image of FMX version https://github.com/EtheaDev/IconFontsImageList/blob/master/Demo/Images/SampleFMX.jpg

Follow the guide in Wiki section to known how to use those components to modernize your Delphi VCL or FMX applications scalable, colored and beautiful with few lines of code.

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.

Demos uses Material Design Icon Fonts

All demos included in this repo uses the Material Design Font available here. (the file "materialdesignicons-webfont.ttf" is renamed to "Material Design Icons.ttf" and included into Demo\Fonts folder)

Warning: "Material Font" has changed again

Take care of changed Font file used in the Demos starting from v3.3.2 release, as explained here.

RELEASE NOTES: 03 May 2023: version 3.3.2 (VCL+FMX)

  • Fixed Slow loading of material design font in Windows 11
  • Added support for Delphi 12.1
  • Removed old font "Material Design Icons Desktop.ttf"
  • Added new font "Material Design Icons.ttf"
  • Removed old unit form Font Name conversion: MaterialFontConvert.pas
  • Updated list of Icons Names/CodePoint to version 7.4.47 into Source\Fonts\Icons.MaterialDesign.pas
  • Added Search of Icons by Name in Custom CharMap

09 Nov 2023: version 3.3.1 (VCL+FMX)

  • Added support for Delphi 12

28 Feb 2023: version 3.3.0 (VCL+FMX)

  • Updated packages for Delphi 11.3
  • Feature Request #43: delete all selected icons into editor

15 Sep 2022: version 3.2.2 (VCL+FMX)

  • Updated packages for Delphi 11.2

17 Jun 2022: version 3.2.1 (VCL+FMX)

  • Updated Material Design Desktop Font to version 7.0.01
  • Updated MaterialDesign fonts (7000 icons)

17 Mar 2022: version 3.2.0 (VCL+FMX)

  • Updated support to Delphi 11.1
  • Updated Library suffix for Delphi 10.4 and 11 to (auto)

24 Nov 2021: version 3.1.0 (VCL+FMX)

  • Updated MaterialDesign fonts
  • Updated component editors form light or dark theme

27 Aug 2021: version 3.0.0 (VCL+FMX)

  • FMX version aligned to VCL
  • Completed support for Delphi 11 Alexandria
  • aligned demo font "Material Design Icons Desktop" to ver. 6.1.41

20 Jul 2021: version 2.6.0 (VCL) and 1.8.0 (FMX)

  • Updated font material design to 6.0.29 version
  • Added support for Delphi 11 Alexandria (packages)

23 Jan 2021: version 2.5.1 (VCL) and 1.7.1 (FMX)

  • Fixed check for unassigned Imagelist loading component
  • Fixed #41 AV using CharMap

17 Jan 2021: version 2.5.0 (VCL) and 1.7.0 (FMX)

  • Updated Material Design Icons Desktop.ttf to 5.9.17 version
  • Updated IconFontImage to supporto Width, Height and Zoom
  • Update GUI Demo with zoom for older Delphi versions
  • Opacity stored only if different from 1
  • Fixed TIconFontsImageListBase.GetIndexByName

12 Dec 2020: version 2.4.0 (VCL) and 1.6.1 (FMX)

  • Fixed problems changing FontColor of ImageList

06 Dec 2020: version 2.4.0 (VCL) and 1.6.0 (FMX)

  • Added width and height property for FMX (if different from size)
  • Added Zoom attribute for icons (VCL and FMX)

16 Sep 2020: version 2.3.1 (VCL) and 1.5.1 (FMX)

  • Fixed issue #37 (Partly ugly antialiasing effects)

05 Sep 2020: version 2.3 (VCL) and 1.5.1 (FMX)

  • Added demo with VirtualImageList form D10.3 and D10.4
  • Refactoring to move methods from IconFontsImageList to IconFontsImageCollection
  • Update IconFontImage to connect also to a VirtualImageList
  • Fixed some packages and demos for older Delphi versions (Delphi7, DXE3, DXE6, DXE8)

04 Sep 2020: version 2.2.2 (VCL) and 1.5.1 (FMX)

  • Export Icons in png files into component editor
  • Updated "Material Design Font Desktop.ttf" font and metadata

27 Aug 2020: version 2.2.1 (VCL) and 1.5.0 (FMX)

  • Complete refactoring for full support of High-DPI
  • New IconFontsImageCollection component
  • New IconFontsVirtualImageList component
  • Redesigned component editor to support Categories for icons
  • New support for native VirtualImageList (from D10.3)
  • Fixed some issues

15 July 2020: official 2.1 (VCL) and 1.5 version (FMX)

  • Fixed rendering on TButton!
  • Fixed rendering for Delphi7

19 June 2020: official 2.0 (VCL) and 1.5 version (FMX)

  • Added GDI+ support (from DXE6)
  • Added new TIconFontsImage component
  • Added Width, Height, DisabledFactor, Opacity properties for TIconFontsImageList

08 June 2020: official 1.10 (VCL) and 1.5 version (FMX)

  • Added IconManager and an example of metadata info form Material Design Icons Desktop Font
  • Updated CharMap with metadata support
  • Support for Delphi 10.4 Sydney

17 May 2020: official 1.9 (VCL) and 1.4 version (FMX)

  • Added component "menu option" to convert "Material" Icons from old font "Material Design Icons" (materialdesignicons-webfont.ttf) to new font "Material Design Icons Desktop" (Material Design Icons Desktop.ttf)
  • Restored old font "Material Design Icons" only for use with Delphi 7 and Delphi 2010.
  • Fixed FMX components and demos to compile with mobile platforms

13 May 2020: official 1.8 (VCL) and 1.3 version (FMX)

  • Changed font used in the Demos to preserve future changes of char/mapping.
  • Added preview for new "Material Design Icons Desktop.ttf" in Demo/Fonts folder.

9 May 2020: official 1.2 version (FMX)

  • Fixed component editor and packages for Delphi 10.1 and 10.2

7 May 2020: official 1.1 version (FMX)

  • Added Component Editor for FMX version: look here....
  • Fixed some problems in FMX version
  • Updated Demo for FMX version

2 May 2020: official 1.7 version (VCL)

  • Added utilities to manage Disabled and Hot Imagelist
  • Added a Video tutorial in Wiki section

12 April 2020: official 1.6 version (VCL)

  • Added a custom CharMap form (VCL only) to show and collect icons more easily: look here....

27 March 2020: official 1.5 version (VCL) and first 1.0 version (FMX)

  • Added support for Icon Fonts that contains surrogate pair characters (VCL & FMX)!

Now you can use all the icons present in any "font collection" that containts those special characters: look here....

24 March 2020: official 1.4 version (VCL) and first Beta version (FMX)

  • Improved performances into IDE (VCL)
  • Added two new FMX components: TIconFontsImageListFMX and TIconFontImageFMX (beta)
  • Added two demos for TIconFontsImageListFMX and TIconFontImageFMX
  • Minor fixes (VCL)

30 January 2020: official 1.3 version

  • Added support for Delphi7 (generally for no Unicode version)
  • Fixed when adding an icon without specifying a character
  • Added SaveToFile method to save the icons into a single Bitmap
  • Added Export button To ImageList Editor
  • Added OnMissingFont event

21 January 2020: official 1.2 version

  • Added support for DXE8
  • Demos with various VCL Styles
  • Utility to update automatically IconFonts color by active VCL Style
  • Increased performance when switching VCL Style at runtime
  • Minor fixes

13 December 2019: official 1.1 version

  • Fixed some problems when adding or deleting icons into Extended Editor and Collection Editor
  • Added support for building icons from/to Chars (into Extended Editor)
  • Fixed some minor problems

27 November 2019: first stable version 1.0:

  • The component TIconFontsImageList with advanced component editor.
  • Demo to show how to change the size, fonts and colors of the icons.
  • Very high performance for building hundreds of icons.
  • Support from Delphi 2010 to 10.3 Rio

Inspired by the "Font Icon Editor" project by Luca Minuti: https://github.com/lminuti/FontIconEditor

About

Four advanced components to simplify use of Icon Fonts as images and ImageList: TIconFontImage, TIconFontsImageCollection, TIconFontsVirtualImageList, TIconFontsImageList (for VCL and FMX). Full support for High-DPI apps. Rendering optimized with GDI+

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages