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.
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.