hdc, // [in] Handle of device context on which to render the image
&rcBounds // [in] Position and dimensions
);
} else {
// Download failed
hr = E_UNEXPECTED;
}
}
return hr;
}
return E_UNEXPECTED;
}
Достоинства:
правильно работает с прозрачными и анимированными картинками. Понимает URL (даже res:// и sysimage://).
Недостатки: не поддерживает загрузку из IStream. Не умеет загружать файлы синхронно.
ПРИМЕЧАНИЕ
Форматов, распознаваемых этим объектом, может быть меньше, например, если при установке IE4 позьзователь отключил поддержку PNG файлов.
Способ 4 (DirectXTransform)
Не смотря на название, эта технология не имеет ничего общего с DirectX. Зато является частью Internet Explorer, внутри которого даже имется набор простеньких классов, реализующих IDirectDraw для нужд DirectXTransform. Этот способ поддерживает тот же набор форматов, что и предыдущий, более того, для этого используется один и тот же код. Разве что синхронно и на выходе получается IDXSurface объект.
Прост в использовании. Поддерживает загрузку из IStream.
Недостатки: Медленный и ресурсоемкий. Это связянно с тем, что сначала для картинки создается обертка в виде IDirectDrawSurface, а затем еще одна для IDXSurface, которые нам совершенно не нужны.
Способ 5 (Фильтры импорта)
Многие программы (например PaintBrush или WinWord) при инсталляции кладут в каталог %ProgramFiles%\Common Files\Microsoft Shared\Grphflt некоторое количество файлов, предназначенных для чтения файлов картинок. Способ не документированный и сильно устаревший. Полный список установленных в системе фильтров находится в реестре по адресу SOFTWARE\\Microsoft\\Shared Tools\\Graphics Filters\\Import