ce code permet de lire quelques propriétés d un fichier BMP comme la resolution, le mode de compression, le nombre de couleurs, la taille de l image
compilé sous borland 6
ps: quelqu un peut me dire pourquoi le programme ne marche pas que je le compile sous devc++ ? merci
Source / Exemple :
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <fstream.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
ifstream image;
unsigned long taille,largeur,hauteur,compression;
unsigned short couleur;
image.open(argv[1],ios::binary); //le chemin de l image est le premier parametre reçu
if(image.good())
{
image.seekg(0x12,ios::beg);
image.read((char *)&largeur,sizeof(largeur));
image.seekg(0x16,ios::beg);
image.read((char *)&hauteur,sizeof(hauteur));
image.seekg(0x22,ios::beg);
image.read((char *)&taille,sizeof(taille));
image.seekg(0x1C,ios::beg);
image.read((char *)&couleur,sizeof(couleur));
image.seekg(0x1E,ios::beg);
image.read((char *)&compression,sizeof(compression));
cout<<"Largeur: "<<largeur<<" pixels."<<endl;
cout<<"Hauteur: "<<hauteur<<" pixels."<<endl;
cout<<"Taille: "<<taille<<" octets."<<endl;
switch(couleur)
{
case 1: cout<<"Couleur: Monochrome."<<endl; break;
case 4: cout<<"Couleur: 16 couleurs."<<endl; break;
case 8: cout<<"Couleur: 256 couleurs."<<endl; break;
case 24: cout<<"Couleur: 16M couleurs."<<endl; break;
}
switch(compression)
{
case 0: cout<<"Compression: non compressee."<<endl; break;
case 1: cout<<"Compression: compresse a 8 bits par pixel (RLE8)."<<endl; break;
case 2: cout<<"Compression: compresse a 4 bits par pixel (RLE4)."<<endl; break;
}
image.close();
}
else
{
cerr<<"Erreur d'ouverture du fichier"<<endl;
}
system("PAUSE");
return 0;
}
//---------------------------------------------------------------------------
Conclusion :
il suffit de glisser le fichier .bmp sur l executable
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.