powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
8 сообщений из 8, страница 1 из 1
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756159
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В браузере (который размещен на Win-форме) отобрал в дереве HTML нужный мне тег <IMG. Но нужный мне тег во-первых вижу только как OBJECT, не могу его типизировать именно как mshtml.HTMLImg. Ну а во-вторых все затевалось, чтобы из браузера рисунок бинарно (или хоть в каком-то формате) вычитать ну и дальше при необходимости кое-какие изменения внести... А не получаццаа...
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756160
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756196
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(Tag1 as mshtml.HTMLImg)


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756525
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... Ну до этого я догадался... Но в том то и дело, что так не выходит...

Сам по себе Tag1 получается как:
Код: plaintext
1.
  Dim Tag1 As System.Windows.Forms.HtmlElement
        For Each Tag1 In Page1.All
Ну а дальше идет CASE разборка по разным типам тегов - типа
Код: plaintext
1.
2.
3.
Select Case Tag1.Tagname
Case "A"
Case "IMG"
.....

Вот тут-то (внутри кейза) я и хотел типизировать каждый тип Teg1, чтобы получать доступ к каждому атрибуту не
Код: plaintext
 ..... = Tag1.GetAttribute("href")
а
Код: plaintext
1.
Dim Tag2 as mshtml.HTMLImg = ctype(tag1, mshtml.HTMLImg )
.....=Tag2.Href
- а вот эта-то конвертация и не проходит. Там вверху в Imediate как раз есть сообщение, что Tag1 нельзя преобразовать а Tag2.


И вторая проблема, в которую я не врубился, как получить доступ УЖЕ к самому бинарному обьекту рисунка в теге mshtml.HTMLImg.


Но, самое удивительное в этой истории - что это моя старинная прога на VB6 - и там она работала. Это в общем-то некий заменитель обычного браузера, только он позволяет все просмотриваемые (рисунки, ссылки, скрипты и пр) прямо из окна браузера распарсить и прописать в SQL в требуемом мне формате плюс тут можно с любой позиции многоуровневого сайта сделать рекурсивный обход (в глубину или ширину в поисках нужной ссылки, рисунка, скрипта и тд). Я перетащил эту прогу на VS2005 (потребовалось вставить такой браузер прямо на NET-форме) и тут начались такие совершенно непонятные проблемы. Вообще-то я пишу уже несколько лет на ADO.NET - но тут просто не стал ничего убирать - оставил ADO. Вылезло просто огромное и необьяснимое количество глюков. Например, я за полдня работы так и не смог подгадать правильную кодировку - как ни пропишу страничку в базу - восстановить в той же кожировке не могу...
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756540
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже непонятный для меня прикол с кодировками ADO по сравненению с кодировками ADO.NET. Вот я для примера пробежался по нескольким узлам НИКС'ового сайта. Верхняя табла - сохраненные этой прогой странички через ADO (так и не допер в какой кодировке, вообще бинарно похожа на UTF-7) - нижняя табла - той же прогой пробежался примерно по тем же страничкам но писал в базу уже через ADO.NET.
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756557
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так - тоже не получается:
Код: plaintext
1.
2.
Dim m As System.Windows.Forms.HtmlElement
Dim mm As mshtml.HTMLImg = CType(m.DomElement, mshtml.HTMLImg)
P.S. сам проверить немогу - неохота париться с кодом для чтения html ;)
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33756558
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а вот эта-то конвертация и не проходит
((Tag1 as HtmlElement).DomElement as HTMLImgClass)
как то так...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
    #33757093
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Конвертация прошла. Я допустил даже ДВЕ ошибки. Во-первых сдури подстыковал не NET-заглушку к COM-библиотеке, с вкладки NET (рассчитывая, что заглушка к COM-подключится сама), а саму библиотеку со вкладки COM. А надо было заглушку со вкладки .NET.
При подстыковке COM-библиотеки почему-то заглушка не срабатывает и преобразование валится по:
Retrieving the COM class factory for component with CLSID {3050F241-98B5-11CF-BB82-00AA00BDCE0B} failed due to the following error: 80040154.

Ну и вторая ошибка - в которую вы меня оба тыкнули носом - надо было НЕ ВЕСЬ ТЕГ пытаться конвертировать (не все его представление в NET2, а лишь ОДНО свойство DomDocument. Черт, когда я уже отвыкну от дурацкого VB6, где ЕСТЬ СВОЙСТВО ПО УМОЛЧАНИЮ. Точно это надо повесить на стенку - НИКАКИХ СВОЙСТ ПО УМОЛЧАНИЮ В NET НЕ БЫВАЕТ !!!

Вопрос с кодировкой я не сумел исправить. Оказалось проще переписать с ADO на ADO.NET.

Остался вопрос к DHTML-программистам. Я к сожалению просто потерял финальные версии этой проги (дело-то было в 2000-году) где получал доступ к бинарникам рисунков. А ща уже DHTML основательно забылось. Что-то кажись через буфер обмена что-ли. Если кто-то подскажет - спасибо...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как вычитать рисунок бинарно из тега mshtml.HTMLImgClass
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]