Как сделать screenshot в IE чтобы была картинка только сайта

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vigur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 12.08.2002 (Пн) 20:30

Как сделать screenshot в IE чтобы была картинка только сайта

Сообщение vigur » 19.08.2005 (Пт) 9:50

Как сделать screenshot в IE чтобы была картинка только сайта без тулбаров и прочего? Просто сделать принтскрин всего окна я могу. Также могу получить обьект IHTMLdocument c IE (может как то его можно в image переделать?)

vigur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 12.08.2002 (Пн) 20:30

Сообщение vigur » 20.08.2005 (Сб) 20:10

что то не верится что на этом сайте нет людей которые смогли бы помочь решить эту проблему :(

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 21.08.2005 (Вс) 0:12

Люди, пишущие на С++ и С#, пользуются IHTMLElementRender. Подробности здесь: http://www.codeproject.com/internet/htm ... apture.asp
Это позволяет получить доступ к контексту, на котором IE рисует HTML так, как он будет выглядеть на экране.
Мне из VB его достать не удалось.
Второй путь - как это делает программа SnagIt. - Делается множество скриншотов при прокрутке окна, после чего они склеиваются. Но это очень медленно.
Присоединяюсь к вопросу vigur
Помогите решить задачу.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 21.08.2005 (Вс) 7:51

Собственно, что именно не удалось?
Описание интрефейса лежит в библиотеке MSHTML. Минимальные требования: IE 5.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 21.08.2005 (Вс) 22:41

Собственно, что именно не удалось?

- не удалось получить доступ к IHTMLElementRender
- не удалось найти приемлемый способ получения скриншота

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.08.2005 (Пн) 8:40

Dim A as IHTMLElement
Dim B as IHTMLElementRender
Set B=A

Не работает? Какая ошибка?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 22.08.2005 (Пн) 10:30

IHTMLElementRender - недопустимый тип объекта для VB

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.08.2005 (Пн) 11:04

А что если использовать эту TLB и тип IHTMLElementRender_aex?
Вложения
MSHTML_aex.zip
MSHTML_aex
(733 байт) Скачиваний: 36
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 22.08.2005 (Пн) 11:31

marvan писал(а):Второй путь - как это делает программа SnagIt. - Делается множество скриншотов при прокрутке окна, после чего они склеиваются. Но это очень медленно.
Присоединяюсь к вопросу vigur
Помогите решить задачу.


Кстати, а что точно требуется в оригинальном вопросе - получить содержимое IE которое не помещается в окне (его необходимо скролировать - обсуждение почему-то свелось к этому варианту) или чтобы была картинка только сайта без тулбаров и прочего - изначально вопрос о скролинге-то и не стоял?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 22.08.2005 (Пн) 11:51

Дык а в чём проблема, если известно hwnd окна IE, получить его Child'ы по GetWindow, найти среди них с класс "Shell DocObject View" и его скриншот сделать.
Программисты не глючат - глючат компиляторы...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.08.2005 (Пн) 17:17

Вероятно, проблема в как раз в скролинге.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 23.08.2005 (Вт) 7:06

Не знаю, требуется ли vigur'у всё окно IE, но мне нужно всё в виде одной картинки.
Очень нужна помощь по доступу к IHTMLElementRender. Я уже подумываю класс на С++ писать, но это явно не красивое решение.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.08.2005 (Вт) 7:56

А как тебе моя TLB?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 140

    TopList