Bu kadar kolaycı olma hocam ya...
al bu procedure JPG ve BMP ise işini görecektir.
Kod: Tümünü seç
Uses JPEG, IdHttp;
procedure UrldenImageListeYukle( strUrl: String; ImageList:TImageList );
Var
JPG: TJpegImage;
BMP: TBitmap;
MS : TMemoryStream;
begin
JPG := TJPEGImage.Create;
BMP := TBitmap.Create;
MS := TMemoryStream.Create;
With TIdHttp.Create(nil) do
begin
Get( strUrl, MS );
Free;
end;
Try
MS.Seek(0,soFromBeginning);
JPG.LoadFromStream(MS);
BMP.Assign( JPG );
if (ImageList.Width < BMP.Width) then ImageList.Width := BMP.Width;
if (ImageList.Height < BMP.Height) then ImageList.Height := BMP.Height;
Imagelist.Addmasked(BMP, clNone);
Except
// Bitmap olmalı...
Try
MS.Seek(0,soFromBeginning);
BMP.LoadFromStream(MS);
if (ImageList.Width < BMP.Width) then ImageList.Width := BMP.Width;
if (ImageList.Height < BMP.Height) then ImageList.Height := BMP.Height;
Imagelist.Addmasked(BMP, clNone);
except
MessageDlg('Dosya biçimi JPG veya BMP değil...', mtError, [mbCancel], 0 );
end;
End;
MS.Free;
BMP.Free;
JPG.Free;
end;
Kullanımı
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
// JPG örneği
UrldenImageListeYukle( 'http://www.delphiturkiye.com/forum/download/file.php?avatar=7845_1404638054.jpg', ImageList1 );
ImageList1.Draw( Image1.Canvas, 0,0, ImageList1.Count-1 );
// BMP örneği
UrldenImageListeYukle( 'http://boinc.berkeley.edu/logo/boinc16.bmp', ImageList1 );
ImageList1.Draw( Image1.Canvas, 0,0, ImageList1.Count-1 );
end;