Afficher une image jpeg dans un timage

Description

Si le composant TImage reconnait sans problèmes un bitmap, une icone ou un métafichier graphique, il peut aussi accepter de charger une image jpeg.
Le code proposé se contente de montrer comment charger une image jpeg et ne se préoccupe absolument pas des problèmes de redimensionnement. Cela fera partie d'un autre source si cela intéresse quelqu'un.

Source / Exemple :


procedure TImagesMainForm.btnLoadImageClick(Sender: TObject);
var
  ImgExt : string;
  Jpeg: TJpegImage;
begin
  if OpenPicture.Execute then
  begin
    //le traitement se fera d'après l'extension du fichier
    ImgExt := LowerCase(ExtractFileExt(OpenPicture.FileName));

    //Bitmap
    if ImgExt = '.bmp' then
      Image1.Picture.Bitmap.LoadFromFile(OpenPicture.FileName);

    //Jpeg
    if (ImgExt = '.jpg') or (ImgExt = '.jpeg') then
    begin
      Jpeg := TJpegImage.Create;
      try
        Jpeg.LoadFromFile(OpenPicture.FileName);
        //copie de l'image du jpeg dans un bitmap
        Image1.Picture.Bitmap.Assign(Jpeg);
      finally
        Jpeg.Free;
      end;

    end; {if (ImgExt = '.JPG') or (ImgExt = '.JPEG')}

    //icones
    if ImgExt = '.ico' then
      Image1.Picture.Icon.LoadFromFile(OpenPicture.FileName);

    //wmf et emf
    if Pos(ImgExt, GraphicFileMask(TMetaFile)) <> 0 then
      Image1.Picture.Metafile.LoadFromFile(OpenPicture.FileName);

    //afficher le nom du fichier dans un espace restreint
    lblImageFileName.Caption := MinimizeName(OpenPicture.FileName,
                                             lblImageFileName.Canvas,
                                             lblImageFileName.Width);
  end; {if OpenPicture.Execute}
end;

Conclusion :


Rien de sorcier là dedans.
Attention : pour insérer des images dans une base de données, ce n'est pas cette technique qu'il faut employer.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.