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


Сведения о точечных изображениях

Растровое изображение — это один из объектов GDI, которые можно выбрать в контексте устройства (DC). Контексты устройств — это структуры, определяющие набор графических объектов и связанные с ними атрибуты, а также графические режимы, влияющие на выходные данные. В приведенной ниже таблице описаны объекты GDI, которые можно выбрать в контексте устройства.

Графический объект Описание
Растровые изображения Создает, управляет (масштабирование, прокрутка, поворот и рисование) и сохраняет изображения в виде файлов на диске.
Кисти Рисует внутреннюю часть многоугольников, многоточия и контуров.
Шрифты Рисует текст на видеотрансляции и других устройствах вывода.
Логическая палитра Цветовая палитра, созданная приложением и связанная с заданным контекстом устройства.
Пути Одна или несколько фигур (или фигур), которые заполнены и (или) контуром.
Перья Графический инструмент, который приложение использует для рисования линий и кривых.
Регионы Прямоугольник, многоугольник или эллипс (или сочетание двух или более этих фигур), которые можно заполнять, красить, инвертировать, обрамлять и использовать для проверки попадания (проверка расположения курсора).

 

С точки зрения разработчика растровое изображение состоит из коллекции структур, которые указывают или содержат следующие элементы:

  • Заголовок, описывающий разрешение устройства, на котором был создан прямоугольник пикселей, размеры прямоугольника, размер массива битов и т. д.
  • Логическая палитра.
  • Массив битов, определяющий связь между пикселями в растровом изображении и записями в логической палитре.

Размер растрового изображения связан с типом изображения, содержащегося в нем. Точечные изображения могут быть монохромными или цветными. На изображении каждый пиксель соответствует одному или нескольким битам в растровом изображении. Монохромные изображения имеют соотношение 1 бит на пиксель (bpp). Цветообразующее изображение является более сложным. Число цветов, которые могут отображаться на растровом рисунке, равно двум, повышаемым до числа битов на пиксель. Таким образом, для растрового изображения с 256 цветом требуется 8 бит/с (2^8 = 256).

панель управления приложения — это примеры приложений, использующих растровые изображения. При выборе фона (или обои) для рабочего стола фактически выбирается растровое изображение, которое система использует для рисования фона рабочего стола. Система создает выбранный фоновый узор, многократно рисуя шаблон 32 на 32 пикселя на рабочем столе.

На следующем рисунке показана точка зрения разработчика на точечного рисунка, найденного в Redbrick.bmp файла. Он показывает массив палитры, прямоугольник размером 32 на 32 пикселя и массив индексов, который сопоставляет цвета из палитры с пикселями в прямоугольнике.

иллюстрация прямоугольника пикселей, массива палитры и массива индексов redbrick.bmp

В предыдущем примере прямоугольник пикселей был создан на устройстве отображения VGA с помощью палитры из 16 цветов. Для 16-цветовой палитры требуются 4-разрядные индексы; Поэтому массив, который сопоставляет цвета палитры с цветами пикселей, также состоит из 4-разрядных индексов. (Дополнительные сведения о логических палитрах цветов см. в разделе Цвета.)

Примечание

На приведенном выше растровом рисунке система сопоставляет индексы с пикселями, начиная с нижней линии сканирования прямоугольной области и заканчивая верхней линией сканирования. Линия сканирования — это одна строка смежных пикселей на видеотрансляции. Например, первая строка массива (строка 0) соответствует нижней строке пикселей, сканируемой строке 31. Это связано с тем, что приведенное выше растровое изображение является независимым от устройства растровым рисунком (DIB) снизу вверх, типичным типом растрового изображения. В точечных изображениях, зависимых от устройств (DDB) сверху вниз, система сопоставляет индексы с пикселями, начиная с верхней строки сканирования.

 

В следующих разделах описываются различные области растровых изображений.