Сведения о растровых изображениях
Растровое изображение является одним из объектов GDI, которые можно выбрать в контексте устройства (DC). контексты устройства — это структуры, определяющие набор графических объектов и связанные с ними атрибуты, а также графические режимы, влияющие на выходные данные. В таблице ниже описаны объекты GDI, которые можно выбрать в контексте устройства.
Графический объект | Описание |
---|---|
битмапы | Создает, управляет (масштабирование, прокрутка, поворот и краска) и сохраняет изображения в виде файлов на диске. |
кисти | Заполняет внутренности многоугольников, эллипсов и контуров. |
шрифты | Рисует текст на дисплеях видео и других выходных устройствах. |
Логическая Палитра | Цветовая палитра, созданная приложением и связанная с заданным контекстом устройства. |
Пути | Одна или несколько фигур, заполненных и/или имеющих контур. |
пера | Графическое средство, которое приложение использует для рисования линий и кривых. |
регионы | Прямоугольник, многоугольник или эллипс (или комбинация двух или более из этих фигур), которые могут быть заполнены, окрашены, инвертированы, обведены рамкой и использоваться для определения попадания (тестирование расположения курсора). |
С точки зрения разработчика растровое изображение состоит из коллекции структур, которые указывают или содержат следующие элементы:
- Заголовок, описывающий разрешение устройства, на котором был создан прямоугольник пикселей, размеры прямоугольника, размер массива битов и т. д.
- Логическая палитра.
- Массив битов, определяющий связь между пикселями в битовом изображении и записях в логической палитре.
Размер растрового изображения связан с типом изображения, который он содержит. Растровые изображения могут быть монохромными или цветными. На изображении каждый пиксель соответствует одному или нескольким битам в растровом изображении. Монохромные изображения имеют соотношение 1 бита на пиксель (bpp). Цветовая визуализация более сложна. Число цветов, которые могут отображаться растровым изображением, равно двум в степени количества бит на пиксель. Таким образом, 256-цветовая растровая карта требует 8 bpp (2^8 = 256).
Приложения панели управления — это примеры приложений, использующих растровые изображения. При выборе фона (или фона) для рабочего стола фактически выбирается растровое изображение, которое система использует для рисования фона рабочего стола. Система создает выбранный фоновый шаблон, многократно рисуя шаблон пикселей 32-32 на рабочем столе.
На следующем рисунке показан взгляд разработчика на растровое изображение, которое содержится в файле Redbrick.bmp. В нем показан массив палитры, прямоугольник размером от 32 до 32 пикселей и массив индексов, который сопоставляет цвета палитры с пикселями в прямоугольнике.
В предыдущем примере прямоугольник пикселей был создан на устройстве отображения VGA с помощью палитры 16 цветов. Для 16-цветовой палитры требуются 4-разрядные индексы; Поэтому массив, который сопоставляет цвета палитры с цветами пикселей, также состоит из 4-разрядных индексов. Дополнительную информацию о логических цветовых палитрах можно найти в разделе Цвета.
Заметка
На приведенном выше растровом рисунке система сопоставляет индексы с пикселями, начиная с нижней строки сканирования прямоугольной области и заканчивая верхней линией сканирования. Строка сканирования — это одна строка смежных пикселей на экране видео. Например, первая строка массива (строка 0) соответствует нижней строке пикселей, сканируемой строке 31. Это связано с тем, что приведенное выше растровое изображение — это независимая от устройства растровая карта (DIB), распространенный тип растрового изображения. В растровых изображениях сверху вниз и зависимых от устройства растровых изображениях (DDB) система отображает индексы на пиксели, начиная с верхней сканирующей строки.
В следующих разделах описываются различные области растровых изображений.
- классификации растровых карт
- Типы заголовков растрового рисунка
- расширения JPEG и PNG для конкретных функций и структур растровых карт
- Растровые изображения, контексты устройств и поверхности рисования
- создание растрового рисунка
- вращение растрового изображения
- масштабирование растровых карт
- растровые изображения в виде кистей
- хранилище растровых карт
- Растровое сжатие
- альфа-смешение
- Гладкая растушевка
- ICM-Enabled функции работы с битмапами