Получение контекста картинки IHTMLImgElement
От: villy  
Дата: 05.07.08 21:59
Оценка:
как получить саму картинку.
1. можно через get_src и URLDonloadToFile, но это не то. Не всегда так получается получить именно нужную картинку.
Пытался получить через IHTMLElementRender.
Но картинка не получается!

Вот саму картинку страницы получить можно.

CComPtr<IHTMLElement> spBody;
if (FAILED(spDoc->get_body(&spBody)))
{
AfxMessageBox(_T("Unable to get the body of the HTML Document."));
return;
}

CComPtr<IHTMLElementRender> spElemRender;
if (FAILED(spBody->QueryInterface(IID_IHTMLElementRender, (void**)&spElemRender)))
{
AfxMessageBox(_T("Unable to create render of the body element."));
return;
}


А если

IHTMLDocument2* pHTMLDocument2;
pDisp->QueryInterface( IID_IHTMLDocument2, (void**)&pHTMLDocument2 );//Ask for an HTMLDocument2 interface
IHTMLElementCollection* pColl = NULL;
hr = pHTMLDocument2->get_all( &pColl );
LONG celem;
pColl->get_length( &celem );
for ( int i=0; i< celem; i++ ){
pDisp->QueryInterface(IID_IHTMLElement,(void **)&pElem);
//////////// тут находим нужную картинку
IHTMLElementRender *pElemRender;
if (FAILED(pElem->QueryInterface(IID_IHTMLElementRender, (void**)&pElemRender)))
{
// и вываливаемся тут с ошибкой
}


ОШИБКА E_NOINTERFACE.

И я в замешательстве, как получить саму картинку.
может я не в ту сторону копаю, есть другие методы.
или чтот не учел. но гуглить уже устал, ничего толкового не находится.

сенкс за ответы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.