 |
| Converting image file to .ICO file |
User rating: 0/10 (0 votes) | |
|
|
 |
 |
Versions: click to open |
 |
|
 |
 |
| Before you begin: |
 |
This code sample shows how to load an image file (BMP, GIF, JPEG, PNG, TIFF), scale it and save as .ICO file. It creates a simple icon file containing one 32x32 icon in 32 bit per pixel format and assigns the new icon to the Icon property.
The code instantiates objects defined in custom GDI+ class. Download the class module first and save it in gdiplus.prg file.

See also:
How to extract icon resources from EXE or DLL and save them in image files
How to extract icon resources from EXE or DLL and save them in .ICO files
GDI+ function GdipCreateHICONFromBitmap
|
 |
 |
| |
| |
Members area. Log in to view this example. |
|
| |
|
|
|
|
|
 |
User rating: 0/10 (0 votes) | |
| 5525 bytes Created: 2005-12-11 15:38:50 Modified: 2009-12-28 22:02:50 Visits in 7 days: 145 |
|
 |
 |
| Listed functions: |
 |
|
 |
 |
| My comment: |
 |
As I can find, VFP supports only 16x16 and 32x32 icons. Also note that CLEAR RESOURCES is required in case an icon file is overwritten with new content while linked to the Icon property of a form or of the main VFP screen.
* * *
Worthy to read:
Icons in Win32 by John Hornick, Microsoft Corp.
* * *
The bWidth and bHeight members of the ICONDIRENTRY structure occupy 1 byte each. This effectively restricts sizes of icons to 1..255 pixels range. While there are no other restrictions, common icon sizes include 16, 32, and 48 pixels square.
Use GDI+ library to load an image file. If needed, scale it to a common icon size or to any size within 255 pixels.
The GdipCreateHICONFromBitmap function creates HICON handle from the Bitmap GDI+ object. Use the GetIconInfo to obtain the ICONINFO structure, and the GetDIBits to retrieve the AND mask and XOR mask DIB bits.
Calculate several other members of the ICONDIR, ICONDIRENTRY, BITMAPINFOHEADER and ICONIMAGE structures and save them to a .ICO file.
* * *
2007: .NET System.Drawing.Icon.Save method produces rather poor (should I say lousy) results, saving icons in something like 4 bpp format. Things might have changed since then. |
 |
 |
| Word Index links for this example: |
 |
|
|
 |
 |
| Translate this page: |
 |
|