Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение картинки из интернета, как? 
:(
    Опции темы
Samhein
  Дата 5.3.2006, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

Репутация: нет
Всего: 3



TImage вроде не может. Мож как-нибудь с помощью TWebBrowser загрузить и сохранить? Или другой компонент посоветуйте...


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Poseidon
Дата 5.3.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 4
Всего: 133



Скачивай как обычный файл.
Если не имеет значения способ скачивания, то можешь так:


Код
uses Wininet;

function GetInetFile(const fileURL, FileName: string): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: file;
  sAppName: string;
begin
  Result := False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName),
  INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      repeat
        InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen);
      until
        BufferLen = 0;
      CloseFile(f);
      Result := True;
    finally
      InternetCloseHandle(hURL);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;


а можешь с помощью Indy:

Код

uses  IdComponent, IdTCPConnection, IdTCPClient,
         IdHTTP, IdBaseComponent;

procedure GetFile(URL, TaskFile);
var
IdHTTP: TIdHTTP;
Stream: TMemoryStream;
begin
IdHTTP:= TIdHTTP.Create(nil);
Stream:= TMemoryStream.Create;

try
  IdHTTP.Get(URL, Stream);
  Stream.SaveToFile(TaskFile);
finally
  Stream.Free;
  IdHTTP.Free;
  end;
end;




--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Snowy
Дата 6.3.2006, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



PM MAIL   Вверх
Samhein
Дата 6.3.2006, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

Репутация: нет
Всего: 3



А что быстрее будет работать?


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Snowy
Дата 6.3.2006, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Почти без разницы - основная задержка будет от инета.
Ну а вообще логичнее делать без сохранения картинки на диск.
PM MAIL   Вверх
Samhein
Дата 6.3.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

Репутация: нет
Всего: 3



Snowy, это как?


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Snowy
Дата 7.3.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Samhein @ 6.3.2006, 20:05 Найти цитируемый пост)
Snowy, это как?
Линк я дал. Там полноценный код для JPEG. Выше в той же теме - универсальный код для 5 форматов.
Можно добавить и другие форматы.
PM MAIL   Вверх
Samhein
Дата 7.3.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

Репутация: нет
Всего: 3



Цитата

логичнее делать без сохранения картинки на диск

Мне как раз надо сохранить картинку на диск...
Всем спасибо.


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.