Cpp builder: comment effacer le contenu d'un TBitmap ?

Signaler
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
-
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
-
Bonjour tout le monde

ben tout est dans le titre: en c++ builder

Un TImage contient un TBitmap.

Avec la méthode
image1->LoadFromFile("machine.bmp");
on charge une image dans le bitmap contenu dans le TImage

Mais comment fait-on pour l'effacer ? Mhhh ?

A+

3 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Salut,

Regarde l'aide des méthodes FreeImage, ReleaseHandle, Dormant... de TBitmap.

Je crois que ReleaseHandle suffit.
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
1
Salut et merci

je vais tester tout de suite !

A+

Ps: par contre je ne veux pas forcément "libérer" le bitmap.

Le but c'est en fait est de pouvoir faire un SaveToFile d'une image "vierge" si le fichier indiqué dans LoadFromFile n'a pas pu être chargé (introuvable ou pas du bon format)

ex de code:

//image1 contient déjà une image
try
{
   image1->LoadFromFile("machine.bmp");
}
catch (...)
{
  //on efface l'image:
  image1-> (?)
}
image1->SaveToFile("copie.bmp");
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
1
Resalut

comme ça ça marche aussi.
On met un composant image et on charge un bitmap par défaut dedans
puis on l'appelle ImageVierge...

Ca permet de créer un bitmap avec un nombre de couleurs voulu, une dimension par défaut...

"
try
   {
      Image1->Picture->LoadFromFile("plan12.bmp");
   }
   catch (...)
   {
      Image1->Picture->Assign(ImageVierge->Picture);
   }
"

Pas très élégant tout de même... En plus le "Assign" ne m'inspire pas confiance: que se passe t'il si les images ne sont pas dans la même Form au moment de la libération (?)

Qqu'un n'aurait pas mieux ?

Merci d'avance...