![]() |
Модераторы: MetalFan |
![]() ![]() ![]() |
|
Jetus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 16.2.2005 Где: Украина, Хмельниц кий Репутация: нет Всего: 1 |
На страничке в моём WebBrowser'e есть несколько картинок. На форме также есть компонент TImage.
Как мне скопировать конкретную картинку из браузера в TImage? |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 3 Всего: 111 |
Как вариант, узнать адрес картинки и загрузить её в TImage. А страница в WebBrowser загружается откуда?
Добавлено @ 09:55 Ещё можно узнать координаты картинки и скопировать её изображение. Но это уже сомнительнее... Добавлено @ 09:56 Для первого варианта:
Взято с Швейцарского Delphi центра. |
|||
|
||||
Jetus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 16.2.2005 Где: Украина, Хмельниц кий Репутация: нет Всего: 1 |
Это я умею =)
Думаю, как бы это побыстрее делать, без сохранения в файл (ведь картинка уже вроде как загружена). |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Универсальный ответ - никак
![]() Если картинка гарантированно видна при текущем положении скроллбара TWebBrowser'a - то можно через специальный интерфейс взять его "скриншот" и ручками вырезать... |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 3 Всего: 111 |
Я это и имел ввиду, когда говорил:
Но по моему это не очень правильно ![]() |
|||
|
||||
TrillerMan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Я кнечно с запазданицем)))
Но для чего всякие интерфейсы? Если можно отловить где была зажата мышка и где отпущена получить прямоугольник,либо даже лучше прям визуально его менять растягивайся соответственно позиции мышы,как тока мышка отпустилась и выделить весь кусок,короче тот же фотошоп у вас в браузере,если замутите такое или если есть такие сорцы у кого-нить не обязательно с броузером подкиньте буду рад)) |
|||
|
||||
Sergey912 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
TrillerMan,
Сам вот с ним мучаюсь, я незнаю как точно, но можно попробовать кэшировать страницы и брать ее потом из кэша. Будет как раз как надо - картинка на диске и мы ее еще раз не качаем. Только его сначала надо точно включить и проверить куда и как он все хозяйство сохраняет ![]() |
|||
|
||||
IzumeRoot |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
У меня вот следующая проблема. Есть exe-шник. В нем находятся html-ки. Отображает он их с помощью контрола ActiveX. Я в своей программе нахожу контрол, в котором отображаетются странички, получаю IWebbrowser2, получаю IHTMLDocument2, IPersistFile и затем сохраняю страничку на винт:
Всё это происходит благополучно. Но ведь таким образом не сохраняются картинки. Тогда я получаю адреса картинок и сохраняю их в ЛистБоксе, чтобы видеть
Получились имена в виде ebook: image1.gif. Если я делаю WebBrowser.Navigate к этим картинкам, что картинка благополучно отображается в контроле, а вот если не делать Навигейт а попытаться сохранить картинку (как я и хочу), то картинка не сохраняется. Сохраняю я их так
Не появляются и MessageBox-ы. Кто подскажет как же мне сохранить эти самые картинки? |
||||||
|
|||||||
TrillerMan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Вот нашёл следующую строчку кода по теме
Var HTMLDocument: IHTMLDocument2; for counter := 0 to htmldocument.images.length - 1 do begin (htmldocument.images.item(counter, 0) as IHTMLImgElement).src := 'new_image.jpg'; end; Но когда я компилю этот код и вызываю его так: procedure TForm1.Button2Click(Sender: TObject); begin (htmldocument.images.item(2, 0) as IHTMLImgElement).src := 'new_image.jpg'; end; Делфа ругаеться acces violation В чём проблема ктонить знает решение? Нужно чтобы сохранилась картинка в файл,но этого не выходит ![]() ![]() Это сообщение отредактировал(а) TrillerMan - 19.1.2007, 01:05 |
|||
|
||||
IzumeRoot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.10.2006 Репутация: нет Всего: нет |
TrillerMan, я что-то не вижу в твоем коде попытки сохранения в файл. Есть только попытка поменять ссылку на картинку в html-исходнике на свою new_image.jpg. На счет моей проблемы. Я так понимаю, что мне остаётся только программно скрин загруженой странички снять для получения картинки. Но этож туфта. А с гифами как быть? Должен же быть способ. Сами эйч-ти-эм-элки то я достал... |
|||
|
||||
andruha10 |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.7.2010 Где: Украина Репутация: нет Всего: нет |
Так работает на 100% (сам долго перебирал варианты)
P.S. Если проблема с копированием в буфер обмена:
|
||||||||||
|
|||||||||||
![]() ![]() ![]() |
Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |