écriture d'un bmp

Signaler
Messages postés
51
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
15 juillet 2005
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
salut, j'essaie d'écrire des fichiers bmp mais j'ai quelques soucis

#define CTOI(C) (*(int*)&C)
#define largeur 100
#define hauteur 100

int main(int argc, char **argv)
{
FILE *fichier=fopen("toto.bmp", "w");
unsigned char header[0x36]={0};
unsigned int datasize=largeur*hauteur*4;
unsigned char data[largeur*hauteur*4]={0};

header[0]='B';
header[1]='M';
CTOI(header[0x1E])=0;
CTOI(header[0x1C])=24;
CTOI(header[0x12])=largeur;
CTOI(header[0x16])=hauteur;


fwrite(header,1,0x36,fichier);
fwrite(data,1, datasize, fichier);

fclose(fichier);
return 0;
}

mais le fichier créé n'est pas valide (du moins par paint shop pro) et je vois pas d'où ça vient

4 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
renseigne toi sur le format, peut etre que l'header d'un fichier bmp doit etre plus fourni (trop de champs à 0)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Il y a deja 54 octets d'header a mettre si je me souviens bien.
Va voir dans les sources, on en a fait un paquet qui creent des bmp de toute piece.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
ben 0x36 ca fait pas 54 ??
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
oh merde, je sortais d'un post et hop une connerie ici.

ciao...
BruNews, Admin CS, MVP Visual C++