![]() ![]() |
|||||||||||
Как записать в файл (или нарисовать в DC) IHTMLImgElement04.07.2012, 19:36. Показов 3770. Ответов 11
Собсно, вопрос. Есть IHTMLImgElement. Пытаюсь кастануть к IHTMLElementRender:
IHTMLDocument2->get_images() Функция фейлится, почему - не знаю. Из кеша вытащить рисунки тоже не получается:
Помогите задампить элемент в файл (либо нарисовать в HDC). Спасибо.
0
|
04.07.2012, 19:36 | |
Ответы с готовыми решениями:
11
Как имеющийся список записать в файл или считать Как записать в файл что-либо!(строку или абзац)?
|
![]() ![]() |
|
05.07.2012, 14:18 [ТС] | |
E_NOINTERFACE
0
|
Модератор
![]() 3402 / 2173 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
|
05.07.2012, 21:21 | |
ну как бы название само за себя говорит - значит нету такого интерфейса у вашего объекта. а точно должен быть? я просто с таким объектом не работал. если для объекта заявлено что он поддерживает такой интерфейс - значит должен быть. может не тот объект?
0
|
![]() ![]() |
|
05.07.2012, 22:01 [ТС] | |
Фиг его знает, поддерживает ли он - я с COMом знаком разве что понаслышке.
Но по меньшей мере несколько туториалов в сети говорят, что сохранить елемент можно через этот интерфейс. В любом случае, остаётся вопрос - как сохранить рисунок, соответствующий элементу IHTMLImgElement из IHTMLDocument ?
0
|
Модератор
![]() 3402 / 2173 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
|||||||||||
06.07.2012, 09:27 | |||||||||||
что то не так... вообще в теории в результате должно быть
"S_OK if the interface is supported, S_FALSE if not." хотя конкретным реализациям разрешено возвращать все что они захотят... вряд ли в этом дело, но странный момент вот здесь:
делал так
...только в этом случае нужно самому заботится о AddRef и Release Добавлено через 44 секунды ...ну, или присвоить pi объекту CComQIPtr - ATL вроде такое скушает
0
|
Супер-модератор
![]() ![]() ![]() |
|||||||
06.07.2012, 12:24 | |||||||
0
|
![]() ![]() |
||||||||||||
06.07.2012, 18:19 [ТС] | ||||||||||||
Ребят, спасибо!
Как только попробую - отпишусь что получилось. Добавлено через 18 минут
А pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInstOLEACC, "ObjectFromLresult" ); Добавлено через 2 часа 57 минут
0
|
![]() ![]() |
|
12.07.2012, 15:12 [ТС] | |
Ребята, что ещё можно сделать ?
0
|
Супер-модератор
![]() ![]() ![]() |
|||||||
12.07.2012, 21:02 | |||||||
![]() Решение
Во-первых, не использовать IHTMLElementRender, ибо его метод DrawToDC, который ты хочешь использовать, уже deprecated в IE9: IHTMLElementRender :: DrawToDC Method
К тому же, еще кое что. Даже если плюнуть на все и использовать метод DrawToDC. Вот такой код:
0
|
![]() ![]() |
|
12.07.2012, 21:23 [ТС] | |
То есть, что бы получить DC, мне нужно выполнять код в контексте чужого процесса ?
0
|
Супер-модератор
![]() ![]() ![]() |
||
13.07.2012, 11:21 | ||
![]() Кстати, таки да, IHTMLElementRender не является маршалируемым, точно так же, как и IViewObject. Они оба работают только в рамках одного процесса.
0
|
13.07.2012, 11:21 | |
Помогаю со студенческими работами здесь
12
Как записать объект(или хотя бы его поля ) в файл в бинарном виде и считать оттуда? Как gl_line_loop заполнить цветом или им же нарисовать нарисовать сферу Как записать Как записать в ADO recordset значение NULL через datacombo или textbox? Как запустить Batch-файл? Как диагностировать проблему или ошибки в синтаксисе, когда Bat-файл не работает или "вылетает". [Руководство] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
|
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
|
Тестирование в Python: PyTest, Mock и лучшие практики TDD
py-thonny 28.04.2025
Тестирование кода играет весомую роль в жизненном цикле разработки программного обеспечения. Для разработчиков Python существует богатый выбор инструментов, позволяющих создавать надёжные и. . .
|
Работа с PDF в Java с iText
Javaican 28.04.2025
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий. . .
|
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
|
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
|
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab
- CI/ CD in GitLab
- VCS repository management in Visual Studio code
(see attachments)
|
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
|
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
|
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
|