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 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
//------------------------------------------------
__fastcall TTiff :: TTiff(String nom_fichier)
{
DWORD toto;
// On regarde si le fichier existe
if(FileExists(nom_fichier))
{
// Création de deux objets :
// Le pointeur sur un FreeImage Bitmap dib, dans lequel on charge le .tiff
// Un HBITMAP qui va être un handle (ie pour moi un propriétaire sur l'image que l'on vient de charger)
// Paramètre de la fonction utilisée :
// - un identifiant du type d'image que l'on souhaite charger
// - le nom du fichier (!! chaîne de caractères constante)
// - un entier pour spécifier le type de chargement
// ici default pour nous, pour charger directement le .tiff
FreeImage_Initialise();
FIBITMAP * dib = FreeImage_Load(FIF_TIFF,nom_fichier.c_str(),TIFF_DEFAULT);
//ShowMessage(IntToStr(FreeImage_GetWidth(dib)));
HBITMAP bitmap;
// Si le pointeur n'est pas null
if(dib != NULL)
{
//Création du Handle du Bitmap, en utilisant une fonction qui nous permet de réobtenir (sans les dénaturer) des infos sur l'image charger
bitmap = CreateDIBitmap(GetDC(NULL),FreeImage_GetInfoHeader(dib),CBM_INIT,FreeImage_GetBits(dib),FreeImage_GetInfo(dib),DIB_RGB_COLORS);
toto = GetLastError();
if(toto == 8)
{
ShowMessage("Full");
}
else
this->Handle = bitmap;
}
else
//ShowMessage("merde !!");
// Libération du pointeur
FreeImage_Unload(dib);
FreeImage_DeInitialise();
}
else
ShowMessage("Le fichier .tiff n'existe pas");
}
//----------------------------------------------- |
Partager