(je me suis insipré de ce site)
si quelqu'un avait une idée de mon ereur sa maiderait bien.
Code : Tout sélectionner
Procedure CreateTextureInMemory(c4, c3, c2, c)
Protected *adr, *FileAdr
*adr = AllocateMemory(66)
*FileAdr = *adr
;premier header
PokeB(*adr, 66) ;B
*adr+1
PokeB(*adr, 77) ;M
*adr+1
PokeL(*adr, 66) ;taille de l'image
*adr+4
PokeB(*adr, 0) ;bfReserved1
*adr+1
PokeB(*adr, 0) ;bfReserved1
*adr+1
PokeB(*adr, 0) ;bfReserved2
*adr+1
PokeB(*adr, 0) ;bfReserved2
*adr+1
PokeL(*adr, 54) ;Offset des bits du bitmap dans le fichier
*adr+4
;second header
PokeL(*adr, 40) ;Taille de cette structure en octets
*adr+4
PokeL(*adr, 2) ;Largeur du bitmap en pixel.
*adr+4
PokeL(*adr, 2) ;Hauteur du bitmap en pixel
*adr+4
PokeW(*adr, 1) ;1
*adr+2
PokeW(*adr, 24) ;bits
*adr+2
PokeL(*adr, 0) ;compression (le reste du header est facultatif si 0)
*adr+4
PokeL(*adr, 0) ;taille du fichier (pour compression)
*adr+4
PokeL(*adr, 0) ;Résolution horizontale en pixels par mètre
*adr+4
PokeL(*adr, 0) ;Résolution verticale en pixels par mètre.
*adr+4
PokeL(*adr, 0) ;Nombre de couleurs utilisées dans l’image.
*adr+4
PokeL(*adr, 0) ;Nombre de couleurs importantes.
*adr+4
*adr+1
PokeB(*adr, Blue(c));bleu
*adr+1
PokeB(*adr, Green(c));vert
*adr+1
PokeB(*adr, Red(c));rouge
*adr+1
PokeB(*adr, Blue(c2));bleu
*adr+1
PokeB(*adr, Green(c2));vert
*adr+1
PokeB(*adr, Red(c2));rouge
*adr+1
PokeB(*adr, Blue(c3));bleu
*adr+1
PokeB(*adr, Green(c3));vert
*adr+1
PokeB(*adr, Red(c3));rouge
*adr+1
PokeB(*adr, Blue(c4));bleu
*adr+1
PokeB(*adr, Green(c4));vert
*adr+1
PokeB(*adr, Red(c4));rouge
ProcedureReturn *FileAdr
EndProcedure