Récemment, je suis tombé sur un post sur un forum qui montrait des icônes un peu particulières, issues de bêta ou de sources de vieux OS. J’aurais pu m’arrêter là et mettre les icônes ici, mais j’ai cherché comment les extraire.
Commençons par une icône de Copland. Il s’agit d’une icône de Finder avec des lunettes de soleil, et le seul indice était que l’image se trouve dans StartUpTestLib
. Une fois le fichier trouvé dans mes archives, j’ai cherché comment extraire l’image.
Première étape, extraire les ressources. Il n’y a pas de ResEdit pour Mac OS X, mais Rezilla fonctionne bien. Il est possible de voir les ressources et même l’icône en question. Mais impossible d’extraire l’image. Après quelques errements, je découvre qu’un glisser/déposer de l’image sur le bureau donne un fichier Extrait d’image
(Picture Clipping
en anglais), que le Finder ouvre… mais sans possibilités d’exportation.
La solution viendra de Super User. Techniquement, il s’agit d’un fichier XML avec l’image intégrée dans le XML, mais c’est un peu compliqué à extraire vu que le XML est compressé. La solution la plus simple consiste à ouvrir un document TextEdit, glisser le fichier dans la fenetre et sauver le tout. On se retrouve avec un paquet qu’il faut ouvrir avec un clic secondaire (Afficher le contenu du paquet) pour trouver une image en TIFF
. C’est un peu laborieux, mais ça fonctionne.
L’image NeXT
Pour l’image NeXT, j’avais une piste vu que le post de forum indiquait qu’elle se trouvait dans les sources de Darwin 0.1. Le post indiquait \boot\ppc\SecondaryLoader\logo.c
mais c’est \boot\ppc\SecondaryLoader\icon.c
.
Première étape, ouvrir le code C et ne garder que les données brutes. Je fais ça de façon artisanale avec un simple chercher/remplacer. Ensuite, je colle le tout dans éditeur hexadécimal pour obtenir le fichier brut.
L’ouverture passe par Graphic Converter. Si vous essayez d’ouvrir un fichier inconnu, il propose une option Try RAW import. Ensuite, il faut jouer. Ca nécessite un peu d’expérience, mais l’idée va être d’essayer de deviner le type d’image (niveau de gris pour une icône NeXT) et la taille de l’image en pixel. En jouant sur la taille, on peut généralement commencer à voir l’image, parfois déformée, et ensuite il faut essayer de trouver la bonne taille. Ici du 96 x 96 en 8 bits, niveaux de gris. Après, il n’y a plus qu’à sauver l’image.