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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение картинок. 
:(
    Опции темы
SultanOFF
  Дата 15.10.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте. Имеется сайт, нужно сохранить с него картинки. Ссылки на картинки имеют вид sait.com/lala?lol=111&pic=NM, где NM-номер.
делаю так:
Код

procedure TForm1.WebBrowserScreenShot(const wb: TWebBrowser;
  const fileName: TFileName);
var
viewObject : IViewObject;
r : TRect;
bitmap : TBitmap;
begin
if wb.Document <> nil then
begin
wb.Document.QueryInterface(IViewObject, viewObject) ;
if Assigned(viewObject) then
try
bitmap := TBitmap.Create;
try
r := Rect(0, 0, wb.Width, wb.Height) ;
bitmap.Height := wb.Height;
bitmap.Width := wb.Width;
viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;
with TJPEGImage.Create do
try
Assign(bitmap) ;
SaveToFile(fileName) ;
finally
Free;
end;
finally
bitmap.Free;
end;
finally
viewObject._Release;
end;
end;
end;
//это была процедура для сохранения скриншота браузера в формате jpg
procedure TForm1.Button1Click(Sender: TObject);
var
urlA: string;
i, k:integer;
begin
edit1.Enabled:=false;
k:=0;
for I := 1 to 5  do
begin
k:=k+1;
urlA:= edit1.Text;
  urlA:= urlA+inttostr(k);
  web1.Navigate(urlA);
WebBrowserScreenShot(Web1,'c:\'+inttostr(k)+'.jpg') ;
    sleep(2000);
end;
end;
end.


тоесть сначало прописываю процедуру для сохранения скрина twebbrowser`a в jpg, а затем через цикл выполняю загрузку нужной страницы(от 1 до 5) и применяю процедуру сохранение скрина браузера в jpg, с надеждой что на диске С будут аккуратно лежать 5 картинок в jpg формате. Но отнюдь, ничего не работает
Ошибок ничего нет, но и результата нет. Во первых никаких скринов на диске не наблюдается. Во вторых почему то, хоть Я и использую цикл, в браузере, по прошествии нескольких секунд открывается только последняя страница(тоесть с числом 5 на конце, типо этого sait.com/lala?lol=111&pic=5). Имею подозрения что он сразу переходит на эту страницу минуя все остальные(тоесть всякие lala?lol=111&pic=1, lala?lol=111&pic=2, lala?lol=111&pic=3, lala?lol=111&pic=4). Почему это так? Помогите пожалуйста 
PM MAIL   Вверх
Vlad55
Дата 15.10.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А не пробовал по другому картинки сохранять? Например функциями из URLMon и пр. без использования WebBowser'a? Кинь хотя б один пример такой картинки мож чего соберу smile
PM MAIL   Вверх
SultanOFF
Дата 15.10.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



http://www.spishy.ru/prog/get_pic.php?sel=...l=0&iid=573 вот, посмотри пожалуйста smile
PM MAIL   Вверх
THandle
Дата 15.10.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Может лучше использовть что-то вроде:

Код

uses IdHTTP;

procedure Download(const AURL, AFilePath: String);
var
  MS: TMemoryStream;
begin
  with TIdHTTP.Create(nil) do
  try
    MS := TMemoryStream.Create;
    try
      Get(AURL, MS);
      MS.SaveToFile(AFilePath);
    finally
      MS.Free;
    end;
  finally
    Free;
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  Download('http://www.spishy.ru/prog/get_pic.php?sel=532&tsel=0&iid=573', 'C:\EX2.jpg');
end;

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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