Section courante

A propos

Section administrative du site

Introduction

L'extension «.ICO» est une extension d'un fichier d'icône pour l'environnement graphique ou système d'exploitation Windows et/ou OS/2. Il est principalement utiliser pour l'affichage du bureau ou pour son application «Gestionnaire de programmes».

Ressource d'icônes du format de fichier Windows

Le fichier est constitué d'un répertoire identifiant le type d'images d'icônes que renferme le fichier. Ensuite, il est suivie d'une ou plusieurs images d'icônes. L'extension par défaut pour une icône est ICO.

Répertoire d'icônes: Chaque ressource d'icône débute par le répertoire d'icônes. Le répertoire d'icônes, surnommé structure ICONDIR, permet d'indiquer le nombre d'icônes que contient la ressource d'icône et la dimension/couleur de chaque image icône. La structure «IconDir» est construite de la façon suivante :

Déplacement Taille Description
0000h 2 octets Ce champ contient une valeur réservé. Contient toujours la valeur 0.
0002h 2 octets Ce champ permet d'indiquer le type de membre. La valeur est toujours 1.
0004h 2 octets Ce champ permet d'indiquer le nombre d'icônes que contient le répertoire.
0006h variable Ce champ contient un tableau de structure «IconDirEntry».

Voici la structure «IconDirEntry»:

Déplacement Taille Nom Description
0000h 1 octet bWidth Ce champ permet d'indiquer la largeur de l'icône. Les valeurs autorisés sont: 16, 32 ou 64.
0001h 1 octet bHeight Ce champ permet d'indiquer la hauteur de l'icône. Les valeurs autorisés sont: 16, 32 ou 64.
0002h 1 octet bColorCount Ce champ permet d'indiquer le nombre de couleurs que prend en charge l'icône: 2, 4, 8 ou 16. Si la valeur est 0, il s'agit d'une icône de 256 couleurs ou plus.
0003h 1 octet bReserved Ce champ est réservé, et il devrait toujours contenir la valeur 0.
0004h 2 octets wPlanes Ce champ permet d'indiquer le nombre de plages de couleurs que contient l'icône.
0006h 2 octets wBitCount Ce champ permet d'indiquer le nombre de bits par pixel que contient l'icône.
0008h 4 octets dwBytesInRes Ce champ permet d'indiquer la taille de la ressource en octets.
000Ch 4 octets dwImageOffset Ce champ permet d'indiquer la position de déplacement (Offset), en octets, du début du fichiers jusqu'à l'icône.

Image icône: Chaque ressource d'icône contient une icône de chaque image identifiée dans le répertoire. Une image icône est constitué d'une entête, une table de couleurs avec un masque XOR, et un masque AND. L'image d'icône a le format suivant :

Déplacement Taille Nom Description
0000h   icHeader Ce champ contient la structure d'information Bitmap du nom de «BitMapInfoHeader» selon le format suivant:
Déplacement Taille Nom Description
0000h 4 octets biSize Ce champ permet d'indiquer la taille de la structure d'information.
0004h 4 octets biWidth Ce champ permet d'indiquer la largeur du Bitmap.
0008h 4 octets biHeight Ce champ permet d'indiquer la hauteur du Bitmap.
000Ch 2 octets biPlanes Ce champ permet d'indiquer le nombre de plage.
000Eh 2 octets biBitCount Ce champ permet d'indiquer le nombre de bits par pixel.
0010h 4 octets biCompression Ce champ permet d'indiquer le type de compression.
0014h 4 octets biSizeImage Ce champ permet d'indiquer la taille de l'image.
0018h 4 octets biXPelsPerMeter Ce champ permet d'indiquer l'échelle de pixel par mètre à l'horizontale.
001Ch 4 octets biYPelsPerMeter Ce champ permet d'indiquer l'échelle de pixel par mètre à la verticale.
0020h 4 octets biClrUsed Ce champ permet d'indiquer le nombre de couleurs indexés dans la table des couleurs.
0024h 4 octets biClrImportant Ce champ permet d'indiquer le nombre de couleurs indexés requis pour afficher le Bitmap.
0028h variable icColors Ce champ contient un tableau de couleurs RVB (RGB en anglais) en format 32 bits.
variable variable icXOR Ce champ contient un tableau d'octets d'un masque XOR (ou exclusif binaire).
variable variable icAND Ce champ contient un tableau d'octets d'un masque AND (et binaire).

Code source

Voici des exemples de code source d'utilitaires pour manipuler les icônes :

Lien Langage de programmation Description Projet Syntaxe
ICO2ASM.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source assembleur. Corail ICO2ASM
ICO2BAS.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source BASIC. Corail ICO2BAS
ICO2C.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source C. Corail ICO2C
ICO2CSP.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source CSP (C Server Pages). Corail ICO2CSP
ICO2PAS.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source Pascal. Corail ICO2PAS
ICO2PPM.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en format d'image PPM (Portable PixMap). Corail ICO2PPM
ICO2PSP.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source PSP (Pascal Server Pages). Corail ICO2PSP
ICO2PY.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source Python. Corail ICO2PY
ICO2RUBY.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en code source Ruby. Corail ICO2RUBY
ICO2XBM.PAS Free Pascal, Turbo Pascal Cette commande permet de transformer un icône (.ICO) en format XBM (X BitMap). Corail ICO2XBM

Voir également

Format d'image Bitmap pour Windows (.BMP)
BITMAPINFOHEADER (C pour Windows)
Format de fichier compressé pour Windows (.CAB)
Langage de programmation - Traitement d'image - Accueil

Dernière mise à jour : Mardi, le 24 juin 2014