begin process at 2008 08 29 21:00:40
1 233 885 membres
407 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Format Png [ Mutimédia / Image & Vidéo ] (cincap)

Format Png le 05/10/2007 09:03:23

cincap

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:


Re : Format Png le 05/10/2007 11:01:55

cirec
Membre Club
(Admin CS)
Salut,

pour pouvoir utiliser le format PNG avec Delphi
il faut utiliser soit :
une librairie type "PNGLib"
ou le "GDIPlus de progdigy"
 
@+
Cirec


Re : Format Png le 05/10/2007 11:14:30

cincap
Bonjour Cirec, en effet je le précise dans mon topic, j'utilise la librairie PngLib.

uses Jpeg {$IFDEF PNGLIB1},PNGImage{$ELSE}{$IFDEF PNGLIB2},zPNG{$ENDIF}{$ENDIF};

Pour la sauvegarde, cela fonctionne pour les 3 formats mais au chargement d'un fichier au format *.Png, mon Timage reste vide.

J'oublie certainement une instruction dans mon code.

@+,

Cincap

mailto:

Re : Format Png le 05/10/2007 13:11:24

cincap
Réponse acceptée !
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:

Re : Format Png le 08/10/2007 10:33:37

CptPingu
Je te conseille vivement l'utilisation de la bibliothèque GraphicEx qui permet au Timage de charger quasiment tout type d'image sans avoir à modifier le code source.

Présent sur ce site:
http://www.soft-gems.net/index.php?option=com_content&task=view&id=13&Itemid=33

Le zip est ici:
http://www.soft-gems.net/supplement/download.php?ID=13


Re : Format Png le 08/10/2007 10:59:37

cincap
Bonjour à toutes et à tous,

@ Cptpingu, merci pour l'info, je l'avais déjà installée pour D6 et j'avais essayé avec une fiche un Tbouton, un Timage, un Topendialog et à l'exécution, je ne savais pas choisir un fichier *.png alors qu'il était repris dans la propriété filter.

Donc forcément il manquait quelque chose sur ma fiche ?

Sinon je viens d'essayer les 2 exemples.

@+,

Cincap

mailto:

Re : Format Png le 08/10/2007 11:19:17

CptPingu
Je ne vois pas ou est le probleme. Si tu charges un fichier png dans un TImage avec GraphicEx, cela fonctionne.
Dans ton opendialog, essaie de mettre "*", ca devrait te permettre de tester.

Re : Format Png le 08/10/2007 11:59:50

cincap
oui tu as raison, je ne référenciai pas "GraphicEx" dans l'uses.

Merci à toi.

@+,

Cincap 

mailto:


Classé sous : image, jpg, bmp, png, ext

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS