Convertisseur *.tga couleurs indexées vers *.pi1

Convertisseur *.tga couleurs indexées vers *.pi1

Messagede sporniket » Jeu 12 Mar 2009 16:27

Salut,

Je ne crois pas qu'un convertisseur de ce genre existe, mais dans le cas contraire, c'était l'occasion de se dérouiller les neurones.

Le contexte : je veux faire mes sprites avec GIMP, puis les utiliser dans mes futurs jeux en GFA.

Au départ je voulais convertir des images PNG, mais j'ai abandonné quand j'ai réalisé que je devrais coder un décodeur zlib... Finalement je me suis rabattu sur le format Targa, l'idée étant d'avoir un format d'image supporté par gimp, stockant des images à couleurs indexé et supportant la transparence, ce dernier point permettant de calculer le masque d'un sprite.

Donc, le programme accepte des images au format Targa en couleurs indexées, le format de palette est RGB8 ou RGBA8 (24 bits ou 32 bits par couleurs) et un octet par pixel, sans compression.
La gestion de la transparence est faite comme suit : soit la définition de la couleur dans la palette possède un canal alpha à 0, alors les pixels de cette couleur sont transparents ; soit le pixel utilise une couleur en dehors de l'intervalle 0..15 et on le considère comme transparent.

Si le fichier source est accepté, l'image convertie a le même nom de fichier mais avec l'extension PI1. Si on a trouvé des pixels transparents, le masque est sauvé avec l'extension MS1 (c'est une image au format PI1).

Un fichier de log permet de diagnostiquer quelques problèmes éventuels. Sur ST ça prend du temps : entre 40 et 50 secondes pour convertir une image 64x64 pixels.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
----
Fonte Sporniket Nostalgie Sans v9.08
Sporniket

Busy coding... lib gfx−60% ; streams−34%
Avatar de l’utilisateur
sporniket
 
Messages: 112
Inscription: Dim 23 Nov 2008 23:00
Localisation: paris

Re: Convertisseur *.tga couleurs indexées vers *.pi1

Messagede tomchi » Jeu 12 Mar 2009 20:28

Bon ok, encore une démonstration de mon incompétence mais ....

J'ai essayé de convertir une image que j'ai sauvée en .tga 320*200 16 couleurs, mais ça ne marche pas ...
Le prg crée deux fichiers, le pi1 et me MS1 mais ils sont vides de tout .... bon, me dit que peut etre c'est à cause du nom de fichier trop long chais pas quoi, vais réessayer :)

Mais, en testant avec le zoli dessin de la maison, ça marche oui, par contre la maison est inversée en vertical dans l'image PI1 ...

ps : j'utilise photoshop pour la sauvegarde du fichier en tga mais je vois pas d'options particulieres pour la sauvegarde
Avatar de l’utilisateur
tomchi
Administrateur du site
 
Messages: 342
Inscription: Mer 15 Oct 2008 20:51

Re: Convertisseur *.tga couleurs indexées vers *.pi1

Messagede sporniket » Ven 13 Mar 2009 09:07

Sous Gimp, lors de la sauvegarde d'une image au format TGA, on a deux options :
- Compression
- Origine en bas à gauche

Ci joint la capture d'écran de cette boite, et les captures montrant les images résultats ouvertes dans Neochrome Master
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
----
Fonte Sporniket Nostalgie Sans v9.08
Sporniket

Busy coding... lib gfx−60% ; streams−34%
Avatar de l’utilisateur
sporniket
 
Messages: 112
Inscription: Dim 23 Nov 2008 23:00
Localisation: paris

Re: Convertisseur *.tga couleurs indexées vers *.pi1

Messagede sporniket » Ven 13 Mar 2009 09:24

Pour tester, une autre image (320x575, le programme tronque automatiquement). L'image ne possède aucune transparence, donc au bout de 10 minutes 30 je n'ai obtenu qu'un fichier.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
----
Fonte Sporniket Nostalgie Sans v9.08
Sporniket

Busy coding... lib gfx−60% ; streams−34%
Avatar de l’utilisateur
sporniket
 
Messages: 112
Inscription: Dim 23 Nov 2008 23:00
Localisation: paris

Re: Convertisseur *.tga couleurs indexées vers *.pi1

Messagede sporniket » Mer 5 Aoû 2009 00:54

Un autre convertisseur, cette fois du format TGA vers IFF (ilbm). Le principe est le même, sauf que dans le cas d'une image avec transparence, on gère un bitplan de masquage.

De plus, l'image exportée respecte les dimensions de l'image d'origine. On écrit le fichier ligne par ligne pour limiter la consommation de mémoire.

Le code est un peu crade car j'ai repris le code précédent.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
----
Fonte Sporniket Nostalgie Sans v9.08
Sporniket

Busy coding... lib gfx−60% ; streams−34%
Avatar de l’utilisateur
sporniket
 
Messages: 112
Inscription: Dim 23 Nov 2008 23:00
Localisation: paris


Retourner vers Programmes divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron