function GetImage(url:string): TPicture;
var hInternet, hConnect: pointer; dwBytesRead, i, L: cardinal;
sTemp,aUrl: AnsiString; // текст страницы
memStream: TMemoryStream; jpegimg: TJPEGImage;
begin
hInternet := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try if Assigned(hInternet) then
begin hConnect := InternetOpenUrl(hInternet, PChar(url), nil, 0, 0, 0);
if Assigned(hConnect) then try i := 1;
repeat SetLength(sTemp, L + i);
if not InternetReadFile(hConnect, @sTemp, sizeof(L),dwBytesRead) then break; // Получаем данные с сервера
inc(i, dwBytesRead); until dwBytesRead = 0;
finally InternetCloseHandle(hConnect); end;
end; finally InternetCloseHandle(hInternet);
end; memStream := TMemoryStream.Create;
jpegimg := TJPEGImage.Create;
try memStream.Write(sTemp[1],
Length(sTemp));
memStream.Position := 0; //загрузка изображения из потока
jpegimg.LoadFromStream(memStream);
Result:=TPicture.Create; Result.Assign(jpegimg); finally //очистка
memStream.Free; jpegimg.Free;
end; end;
возникате по причине того, что не возможно определить тип файла который загружается в jpegimg