Soyez le premier à donner votre avis sur cette source.
Snippet vu 33 387 fois - Téléchargée 8 fois
{ Ce code est compatible avec les nouvelles lib de Delphi2009 et utilise Indy10 Code posté par Cirec} Uses Windows, SysUtils, Dialogs, classes, Graphics, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, ExtCtrls, jpeg {$ifdef ver200}, pngimage, gifimg{$endif}; Function LoadImageFromUrl(Const aUrl: String; Const aImage: TImage): boolean; Implementation Function GetGraphicClass(Const aFileName: String): TGraphicClass; Var aExt: String; Begin Result := Nil; aExt := LowerCase(ExtractFileExt(aFileName)); If aExt = '.ico' Then Result := TIcon Else If aExt = '.bmp' Then Result := TBitmap Else If (aExt = '.jpg') Or (aExt = '.jpeg') Then Result := TJPEGImage {$ifdef ver200} Else If aExt = '.gif' Then Result := TGIFImage Else If aExt = '.png' Then Result := TPNGImage {$endif}; End; { Charge une image depuis le net et l'affiche dans un TImage sans passer par le HDD } Function LoadImageFromUrl(Const aUrl: String; Const aImage: TImage): boolean; Var NewGraphic : TGraphic; GraphicClass : TGraphicClass; aStream : TMemoryStream; Begin Result := assigned(aImage); If Result Then Begin GraphicClass := GetGraphicClass(aUrl); If GraphicClass = Nil Then Begin Result := False; Exit; End; NewGraphic := GraphicClass.Create; aStream := TMemoryStream.Create; With TIdHTTP.Create(Nil) Do Try Try Get(aUrl, aStream); aStream.Seek(0, soFromBeginning); NewGraphic.LoadFromStream(aStream); Except Result := False; End; Finally aImage.Picture.Graphic := NewGraphic; NewGraphic.Free; aStream.Free; Free; End; End; End; End. { Utilisation } LoadImageFromUrl('http://static.commentcamarche.net/codes-sources.commentcamarche.net/pictures/pSGTrLUl-avatar-cirec-s-.png', image1);
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.