Bonjour,

Le code suivant ne fonctionne pas (erreur du load) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <FreeImage\FreeImage.h>
#include <fstream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
	string file = "images/monimage.bmp";
	ifstream fichier( file.c_str() ); 
 
    if( !fichier.fail() ) {
 
		printf("exists\n");
 
		FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "images/monimage.bmp", BMP_DEFAULT);
 
		//bitmap = FreeImage_Allocate(320, 240, 32);
 
		if( bitmap ) {
 
			printf("loaded\n");
 
			if( FreeImage_Save(FIF_BMP, bitmap, "images/generated.bmp", 0) ) {
 
				printf("saved\n");
 
			}
 
			FreeImage_Unload(bitmap);
		}
 
	}
 
	getchar();
 
	return 0;
}
Or le fichier existe bien puisque "exists" s'affiche dans la console.
Je ne rentre pas dans le "if( bitmap )".
En revanche si je décommente la ligne "//bitmap ..." je rentre dedans mais le FreeImage_Save échoue (fichier créé mais avec 0 bytes et retour de la fonction à false).

Face à la simplicité du code je ne voie pas comment débugger.
Des idées ?

Merci.