Bien qu'elle n'utilisent pas les 320x240 pixels de l'écran (mais comme un cadre de 265x165 pixels), nous disposons tout de même d'un total de 20 images ;)
Tout d'abord les images "background" en .8ca :
Basse résolution de 132,5x82,5 pixels (car bénéficiant d'un zoom x2) :|
Mais!..Côté choix de couleurs ; 16bits/couleur en R5V6B5, donc pas moins de 65536 couleurs !! :D
Enfin, les images "Pic" en .8ci
Cette fois, pas de zoom, donc du 265x165 ;) mais seulement 15 couleurs (+1 de transparence)
imposées par une palette "système" que l'on peut "retrouver" par le biais de Gimp, par exemple...
(ce sera le sujet d'un autre post, si ça vous intéresse ; )
Revenons aux images .8ca !
Détails importants lorsque vous exporterez votre image au format BMP :
-l'image doit être en mode RGB (et non couleurs indexées)
-sa résolution doit être de 134x83 (hé oui, toute un bande verticale de pixels codée pour rien car cachée pendant le rendu, 166 octets de trop!)
- prenez le soin de ne pas inclure d'information d'espace couleur
- en options avancées, choisissez bien R5G6B5
Pour celles et ceux qui, comme moi, ne jure que par Linux et/ou Tilp, voici un petit programme que j'ai écrit en freebasic...
- Code: Tout sélectionner
' data pour customiser l'affichage dans le menu 'mém' (faire afficher '8' ou '9' fait planter l'affichage)
'*Image0 0
'*Image1 1111
'*Image2 2222
' (...)
'*Image9 9999
' (aucune incidence sur la place réellement prise en mémoire)
' ces valeurs 16bits correspondent aux valeurs respectives à afficher-11
data &HF5,&HFF,&H4C,&H04,&HA3,&H08,&HFA,&H0C,&H51,&H11,&HA8,&H15,&HFF,&H19,&H56,&H1E,&HAD,&H22,&H04,&H27
' Entête d'un fichier Image.8Ca
data &H2A,&H2A,&H54,&H49,&H38,&H33,&H46,&H2A,&H1A,&H0A,&H0F,&H42,&H79,&H20,&H67,&H72,&H6F,&H73,&H67,&H65,&H64,&H27,&H73
data &H20,&H52,&H61,&H77,&H32,&H49,&H6D,&H67,&H20,&H63,&H6F,&H6E,&H76,&H65,&H72,&H74,&H65,&H72,&H20,&H32,&H30,&H32,&H30
data 0,0,0,0,0,0,0,&HF6,&H56,&H0D,0,&HE5,&H56,&H1A,&H3C
' data ... valeur entre &H00 et &H09 (cette valeur indique le No d'image)
data 0,0,0,0,0,0,&H0A,&H80,&HE5,&H56
'data &HE3,&H56
data &H81
Dim as byte a,b,n,L(20),u,v
for a=1 to 20:read L(a):next a
dim as uinteger x
dim as string source,destination
'comme type de fichier-source, j'a opté pour le format BMP
input"(Image-source) Nom";source: ' ne pas taper l'extension .bmp
destination=source+"_Image"
source=source+".bmp"
input"(Image-destination) Image No";n: ' No d'image entre 0 et 9
destination=destination+chr(48+n)+".8ca"
Open source For Binary As #1
Open destination For Binary As #2
'Maintenant on crée l'entête (75 octets)
for b=1 to 61:read a:put #2,,a:next
u=L(n+n+1):v=L(n+n+2)
n=n-1:if n<0 then n=9 ' Pas toujours logiques ces tokens!
put #2,,n
for b=1 to 10:read a:put #2,,a:next
put #2,,u:put #2,,v ' écrit la pseudo-longueur
read a:put #2,,a
for b=1 to 70:get #1,,a:next ' début du bmp à zapper
'Ensuite, c'est au tour des données
for x=1 to 134*83*2
get #1,,a
put #2,,a
next x
'Enfin, on termine par l'écriture de 2 octets
'Un "checksum" peut-être?.. J'ai la flemme! : ça sera donc, euh... Hé bien 2x les 2 derniers pixels, tiens!
put #2,,a:put #2,,a
close #1:close #2
print "Fichier "+destination+" créé!"
Dans le terminal, compiler ainsi...
- Code: Tout sélectionner
fbc Raw2Img.bas
Et il n'y a plus qu'à lancer...
- Code: Tout sélectionner
./Raw2Img
(Image-source) Nom? Kate-Bush
(Image-destination) Image No? 0
Fichier Kate-Bush_Image0.8ca créé!
Voili-voilà !