Форум: "Начинающим";
Текущий архив: 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