BlueGEEK Journal

Accueil > Manip’s > Delphi > Images > IMAGE : Lire du PNG sous delphi

DELPHI

IMAGE : Lire du PNG sous delphi

PngImage

jeudi 30 décembre 2010, par bluegyn_spip


Télécharger le Paquet PngComponentSetups


http://www.thany.org/download/14/pn...

- Dézipper l’archive

- Lancer le Setup

- Un Nouveau dossier "PngComponants" est créé dans le dossier source de Delphi

- Lancer le Paquet DPK correspondant à la version de Delphi

- Compilez (Un Fichier DCU apparait au dossier)

- Puis installez

- Un Nouvel Onglet PNG apparait aux composants

- Avec 4 composants dont aucun n’affiche d’image unique

- Pour ce faire il faut rediriger l’image PNG vers un composant Image classique


Travaux pratiques


- En pratique nous n’utiliserons pas ces composants

- Mais uniquement les 3 bibliothèques PNG qu’il installe (jointes)

  1. PngImage.pas
  1. pngZlib.pas
  1. et PngLang.pas

Pas à pas

- Placer les 3 Bibliothèques, l’une à côté de l’autre dans l’un des dossiers Bibliothèques de Delphi

- Si vous avez installé le Paquet complet c’est le chemin

  • $(Delphi)\Source\PngComponents\Source

- Placer un composant TImage sur la fiche

- Dans la Clause USES

  • Rajouter simplement :

- PngIMAGE

- unit Unit1 ;

- interface

- uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, PngImage ;

- type

  • TForm1 = class(TForm)
    • Image1 : TImage ;

...

- Les 2 autres modules n’ont plus à être déclarés, pngImage s’en charge implicitement


- A partir de maintenant le choix PNG va apparaitre automatiquement -*dans le composant Image,

  • Ainsi que dans le dialogue Dialogue OpenPicture

PNG



- Voici le code de Geek pour lire le PNG

procedure TForm1.Affiche_PNGExecute(Sender : TObject) ;

- var PNG : TPNGObject ;

- begin

- try

  • PNG := TPNGObject.Create ;
  • PNG.LoadFromFile( ’MyImage.PNG’ ) ;
  • Image1.Picture.Bitmap.Assign(PNG) ;

- finally

  • PNG.Free ;

- end ;

end ;