Format Png

Résolu
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 5 oct. 2007 à 09:03
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 8 oct. 2007 à 11:59
Bonjour à toutes et à tous,

J'aimerai pouvoir charger une image en Png, mon code permet de charger un Jpg et Bmp mais par contre pour un Png, l'image reste vide.

J'utilise la librairie et la sauvegarde se fait bien pour les 3 formats.

Voici mon code :

procedure TMainForm.BchargerClick(Sender: TObject);
var 

    JPG : TJPegImage;
    BMP : TBitmap;
    Ext : string;
    BMPLoaded : boolean;
    NewH, NewW, OldSBM : integer;

begin
 
{ initialisation }
  BMPLoaded := false;


  { ouverture d'une image }
  if Opd1.Execute

then
  begin

    { recuperation de l'extention }
    Ext := LowerCase(ExtractFileExt(Opd1.FileName));


    { creation du bitmap temporaire }
    BMP := TBitmap.Create;

    try
      { si c'est un jpeg }      if (ext '.jpg') or (ext'.jpeg')
 
then
      begin

        { creation d'une image jpeg }
        JPG := TJPegImage.Create;

        try

          { charge a partir du fichier }
          JPG.LoadFromFile(OpD1.FileName);
          { convertion JPG > BMP }
          JPEGToBMP(JPG,BMP);
          { BMP est prét }
          BMPLoaded := true;

        finally

          { liberation de JPG }
          JPG.Free;

        end;
      end
      else

      { si c'est un bitmap }
      if ext = '.bmp' then

      begin

        { charge a partir du fichier }
        BMP.LoadFromFile(OpD1.FileName);
        { BMP est prét }
        BMPLoaded := true;

      end;
Reste du code....

D'après mes notes, je pensais que le Timage acceptait le format Png sans code.

Merci,

Cincap

[mailto: mailto:]

7 réponses

cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
5 oct. 2007 à 13:11
Voila, c'est ok pour moi, j'ai vu l'erreur dans le code, je devais aussi créer un

TPNGObject.Create;

Je cloture le topic, merci à tous.

@+,

Cincap
[mailto: mailto:]
3
Rejoignez-nous