écriture d'un bmp

cs_khayyam Messages postés 51 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 15 juillet 2005 - 3 août 2004 à 12:09
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 3 août 2004 à 23:05
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

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
3 août 2004 à 19:04
renseigne toi sur le format, peut etre que l'header d'un fichier bmp doit etre plus fourni (trop de champs à 0)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2004 à 22:50
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++
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
3 août 2004 à 22:53
ben 0x36 ca fait pas 54 ??
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 août 2004 à 23:05
oh merde, je sortais d'un post et hop une connerie ici.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous