Поделиться через


Расширения JPEG и PNG для конкретных функций и структур растровых изображений

В некоторых версиях Microsoft Windows функции StretchDIBits и SetDIBitsToDevice позволяют передавать изображения JPEG и PNG в качестве исходного образа на устройства принтера. Это расширение не предназначено для предоставления приложений общей распаковки JPEG и PNG, а для того, чтобы приложения могли отправлять сжатые изображения JPEG и PNG непосредственно на принтеры с аппаратной поддержкой изображений JPEG и PNG.

Структуры BITMAPINFOHEADER, BITMAPV4HEADER и BITMAPV5HEADER расширяются, чтобы разрешить спецификацию значений biCompression , указывающих, что данные растрового изображения являются изображениями JPEG или PNG. Эти значения сжатия допустимы только для SetDIBitsToDevice и StretchDIBits , если параметр hdc указывает устройство принтера. Чтобы обеспечить поддержку очереди метафайлов принтера, приложение не должно полагаться на возвращаемое значение, чтобы определить, поддерживает ли устройство ФАЙЛ JPEG или PNG. Перед вызовом SetDIBitsToDevice и StretchDIBits приложение должно выдать запрос QUERYESCSUPPORT с соответствующим escape-файлом. Если экранирование проверки завершается ошибкой, приложение должно вернуться к собственной поддержке JPEG или PNG, чтобы распаковывать изображение в растровое изображение.