Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Загрузка изображения в TImage из сети


Автор: NisSun 8.5.2007, 21:35
Доброго всем времени суток.
Меня интересует такой вопрос. Возможно ли стандартными способами загрузить изображение из Интернет в TImage?

Автор: Snowy 8.5.2007, 21:56
Код

uses IdHttp, jpeg;

procedure TForm1.Button1Click(Sender: TObject);
var
  http: TIdHttp;
  ms:   TMemoryStream;
  jpeg: TJpegImage;
begin
  http := TIdHTTP.Create(nil);
  ms := TMemoryStream.Create;
  jpeg := TJpegImage.Create;
  try
    http.Get('http://i136.photobucket.com/albums/q195/combatfather/post-19-1177146510.jpg', ms);
    ms.Position := 0;
    jpeg.LoadFromStream(ms);
    Image1.Picture.Graphic := jpeg;
  finally
    jpeg.Free; ms.Free; http.Free;
  end;
end;

Автор: TruePozer 9.5.2009, 06:04
Snowy, я извеняюсь конечно, но можно этот же пример только не для JPG, а для GIF?
Сам пробовал... Чёт не выходит(

Автор: Alexeis 9.5.2009, 12:02
Цитата(TruePozer @  9.5.2009,  05:04 Найти цитируемый пост)
Сам пробовал... Чёт не выходит( 

  В Delphi 2007 получиться, ток ИМХО все эти фигли мигли с промежуточным жпегом не нужны, просто сразу 
  Image1.Picture.LoadFromStream(ms);

Он сам умеет распознавать изображения по расширению. Если Gif зарегистрирован, то будет работать. Аналогично достаточно модуль jpeg подключить и расширение будет зарегистрировано. 

Автор: TruePozer 9.5.2009, 14:58
Так сделать я догадался, просто у меня Delphi 7 и Image1.Picture.LoadFromStream(ms); не канает, говорит Undeclared identifier: 'LoadFromStream'...

Автор: Alexeis 9.5.2009, 15:34
Цитата(TruePozer @  9.5.2009,  13:58 Найти цитируемый пост)
Так сделать я догадался, просто у меня Delphi 7 и Image1.Picture.LoadFromStream(ms); не канает, говорит Undeclared identifier: 'LoadFromStream'... 

  А ну да точно, он так не может, ведь тип файла он определяет по расширению. Значит придется таки явно создавать объект. Реализаций GifImage полно, хотя бы из RxLib

Автор: TruePozer 9.5.2009, 15:41
А, ну ок, спс!)

Автор: Keeper89 9.5.2009, 15:44
TruePozer, смотрите прикрепление с использованием TGifImage, справка к классу прилагается.

Автор: TruePozer 9.5.2009, 16:02
Keeper89, спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)