Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Вниз

Поместить картинку из TWebBrowser в TImage   Найти похожие ветки 

 
Danco ©   (2009-12-08 16:24) [0]

Отгуглил весь интернет, ничего хорошего не нашел.

Загружаю страницу в TWebBrowser, на ней есть фотография, ее нужно пометить в TImage без повторной загрузки изображения из интернета.

Кто-нибудь знает как это реализовать?


 
clickmaker ©   (2009-12-08 16:35) [1]

разве что поискать в кэше по Src


 
clickmaker ©   (2009-12-08 16:36) [2]

по имени файла в src, вернее


 
sniknik ©   (2009-12-08 16:48) [3]

а если есть кеш, то разве повторное обращение не возьмет картинку из кеша? или это динамический контент?


 
Сергей М. ©   (2009-12-08 16:49) [4]

А нашиша тогда TWebBrowser ?


 
clickmaker ©   (2009-12-08 16:54) [5]

> повторное обращение не возьмет картинку из кеша?

смотря чем обращаться.
InternetOpenUrl, может, и возьмет.
А какой-нибудь инди, который через сокеты работает, о кэшах не знает ничего


 
sniknik ©   (2009-12-08 17:02) [6]

> А какой-нибудь инди
а, ну да. ну тогда можно попробовать "поковырять" сам TWebBrowser, на предмет сохраняющего интерфейса и вместо странички дать ему ссылку на картинку из src.

а еще кстати, к автору, а у тебя фотографии в bmp? поэтому ты так напрягаешься лишь бы не качать повторно. :) или у тебя "супер"TImage?


 
Danco ©   (2009-12-08 17:28) [7]


> а еще кстати, к автору, а у тебя фотографии в bmp? поэтому
> ты так напрягаешься лишь бы не качать повторно. :) или у
> тебя "супер"TImage?

Нет, просто не хочу лишний раз загружать трафик.


> разве что поискать в кэше по Src


А просто вынуть из TWebBrowser можно?


 
sniknik ©   (2009-12-08 17:35) [8]

> Нет, просто не хочу лишний раз загружать трафик.
это понятно, а отображать как собрался?


 
Danco ©   (2009-12-08 18:24) [9]


> это понятно, а отображать как собрался?

Помоему я этот вопрос задал :))


 
clickmaker ©   (2009-12-08 18:34) [10]

> Помоему я этот вопрос задал :))

дык она и так уже в веббраузере отображается


 
sniknik ©   (2009-12-08 19:14) [11]

> Помоему я этот вопрос задал :))
тогда отвечаю - до того как озадачиваться что то вытаскивать, сначала реализуй поддержку ico, gif, png, и других форматов в которых может быть рисунок в браузере, т.к. стандартно есть только bmp и jpeg.
к тому времени может охота перетаскивать и пропадет...

> дык она и так уже в веббраузере отображается
дык его он наверняка хочет спрятать, как только свое доделает. ;)


 
Danco ©   (2009-12-08 19:24) [12]

Пришла в голову идея:
Если делать скрин TWebBrowser и помещать TImage, после вырезать нужный элемент.

procedure TForm1.Button1Click(Sender: TObject);
var
 ViewObject: IViewObject;
 sourceDrawRect: TRect;
begin
Image1.Picture := nil;
if WebBrowser.Document <> nil then
 try
  WebBrowser.Document.QueryInterface(IViewObject, ViewObject);
  if ViewObject <> nil then
   try
    sourceDrawRect := Rect(0, 0, WebBrowser.Width, WebBrowser.Height);
    ViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Self.Handle,
    image1.Canvas.Handle, @sourceDrawRect, nil, nil, 0);
   finally
    ViewObject._Release;
   end;
 except
 end;
end;


Этот код работает, но он копирует не всю страницу, а только видимую часть, как можно скопировать всю страницу?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1260303469
andrewtitoff
2009-12-08 23:17
2010.01.31
idHttp и TWebBrowser


15-1259172371
Footballer
2009-11-25 21:06
2010.01.31
Угадай мелодию :)


2-1259607144
andrewtitoff
2009-11-30 21:52
2010.01.31
Задняя форма


1-1235132567
dmitry1208197320
2009-02-20 15:22
2010.01.31
Поддержка темы XP компонентом TTreeView


15-1259264658
Игорь Шевченко
2009-11-26 22:44
2010.01.31
Наука нанотехнологий на марше!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский