Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 02:25   #1
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
Вопрос получить картинку из WebBrowser

получит картинку из WebBrowser без повторной загрузки и сохранить ее в файл?
пауэрлифтинг вне форума Ответить с цитированием
Старый 18.05.2010, 07:59   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Всё легко и просто.
Код:
//-------------------- Функция загрузки файла --------------------------------//
// SourceFile - источник, DestFile - назначение
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;
//----------------------------------------------------------------------------//
//-------------------- Процедура загрузки изображений из сети ----------------//
procedure TForm1.MenuDownloadImagesClick(Sender: TObject);
var
   i: Word;
   x: Integer;
   ImageHref, DestFile: string;
   CurrentWB: TEmbeddedWB;
   Document: IHtmlDocument2;
begin
   CurrentWB := Form1.WebBrowser1;
   for i := 0 to CurrentWB.OleObject.Document.Images.Length - 1 do
    begin
     Document := CurrentWB.Document as IHtmlDocument2;
     ImageHref := (Document.Images.Item(i, 0) as IHTMLImgElement).Href;
     x := Pos('images',ImageHref);
     Delete(ImageHref, 1, x-1);
     DestFile := DataDir + '/grab/' + ImageHref;
     DownloadFile('http://zzz.su/' + ImageHref, DestFile);
   end;
end;
//----------------------------------------------------------------------------//
Виталий Желтяков вне форума Ответить с цитированием
Старый 18.05.2010, 14:37   #3
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию

а что за функция UrlDownloadToFile у меня ее нету
пауэрлифтинг вне форума Ответить с цитированием
Старый 18.05.2010, 18:01   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Добавь в uses модули: URLMon, ShellApi.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 18.05.2010, 18:42   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Да, забыл модули подключи urlmon, wininet.
Виталий Желтяков вне форума Ответить с цитированием
Старый 27.03.2012, 13:04   #6
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию

А как извлечь картинку непосредственно из BebBrowser, вроде бы она уже там загружена? Чтобы повторно не грузить и получить, скажем, её Bitmap. Без файловых операций.
Aleksandr_59 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser сохранить картинку StartMis Работа с сетью в Delphi 3 21.10.2011 12:37
Как получит ассортимент значений? Simbad Microsoft Office Excel 4 08.03.2010 20:28
Картинку на экран soonner Общие вопросы Delphi 1 13.12.2009 16:14
Получит письмо с нормальным телом iamur Работа с сетью в Delphi 6 11.03.2008 15:59
картинку в image vitalik007 Общие вопросы Delphi 2 05.11.2007 21:10