68908

Файлы образов фрагментов экрана

Лекция

Информатика, кибернетика и программирование

Детали формата Каждый файл содержит заголовок файла заголовок Bitmp карту цветов если изображение не 24 битное и собственно изображение. Заголовок Bitmp Windows За заголовком файла следует заголовок Bitmp и необязательно карта цветов.

Русский

2014-09-27

46.5 KB

0 чел.

ЛЕКЦИЯ 5

Файлы образов фрагментов экрана.

Данные для построения фрагментов, особенно, если их много, не всегда удобно хранить в виде констант или получать алгоритмическим путем.

Проще их записывать в файл, считывать в память и отражать на видимой или активной странице в нужный момент. Такие файлы в большинстве случаев состоят из двух частей заголовка и данных:

–заголовок содержит размеры фрагмента по вертикали и горизонтали;

–данные характеризуют каждый пиксель фрагмента.

Ввести в файл данные непосредственно с экрана можно с помощью функции  GetPixel,  восстановление фрагмента на экран осуществляется процедурой PutPixel.

Более быстрый метод работы с файлами базируется на использовании процедур GetImage и PutImage.

Алгоритм отображения образа фрагмента в файл состоит из таких шагов:

–вывести изображение на экран;

–выделить подлежащий хранению прямоугольный фрагмент;

–вычислить его размер в байтах;

–занести  в Heap области полный образ фрагмента;

–записать образ фрагмента из Heap области в файл.

Алгоритм вывода фрагмента в любом месте экрана:

–считать данные из файла в Heap область;

–вывести образ на активную или видимую страницу.

АППАРАТНО НЕЗАВИСИМЫЙ Bitmap Microsoft Windows.

ВМР –файлы.

Преимущества

Хорошо поддерживается под Microsoft Windows. Редкая поддержка для   Bitmap изображений.

Недостатки

Плохо поддерживается где-либо еще.

Описание

Файлы аппаратно независимого Bitmap Microsoft Windows могут содержать изображения с 1, 4, 8, или 24 битами на пиксель. 1-, 4- и 8-битные изображения имеют карты цветов, тогда как 24-битные изображения имеют непосредственную цветопередачу.

Детали формата

Каждый файл содержит заголовок файла, заголовок Bitmap, карту цветов (если изображение не 24-битное) и собственно изображение.

Заголовок файла

Смещение

Размер

Имя

Описание

0

2

bfТуре

ASСП-строка "ВМ"

2

4

bfSizе

Размер файла в байтах

6

2

bfReserved1

Ноль

8

2

bfReserved2

Ноль

10

4

bfoffBits

Смещение начала изображения байтах в файле

Поле bfOffBits содержит расстояние в байтах начала изображения от начала файла, чтобы облегчить пропуск заголовка.

Заголовок Bitmap Windows

За заголовком файла следует заголовок Bitmap и, необязательно, карта цветов. Структура заголовка иногда Bitmap рассматривается как Bitmapinfo с полями вплоть до карты цветов.

Смещ.       Размер             Имя                            Описание

   14                4              biSize                     Размер этого заголовка, 40 байт

   18                4              biWidth                  Ширина изображения в пикселях

   22                4              biHeight                 Высота изображения в пикселях

   26                2              biPlanes                 Число плоскостей изображения

   28                2              biBitCount             Бит на пиксель, 1, 4, 8 или 24

   30                4              biCompression       Тип сжатия

   34                4              biSizeImage            Размер сжатого изображения  

   38                4              biXPelsPerMeter    Горизонтальное разрешение

   42                4              biXPelsPerMeter    Вертикальное разрешение

   46                4              biClrUsed              Количество используемых цветов,

   50                4              biClrImportant       Число "важных" цветов

   54               4*N          bmiColors               Карты цветов

 

  Карта цветов

Изображения, использующие 1, 4 или 8 бит на пиксель должны иметь карту цветов. Размеры карты цветов - обычно 2, 16 или 256 элементов данных соответственно, но может быть меньше, если изображение не нуждается в полном комплекте цветов. Если поле biClrUsed ненулевое, оно содержит количество используемых цветов, которое также представляет собой число элементов данных в карте цветов. Если это поле - нулевое, карта цветов имеет полный размер. Для 24-битных изображений карты цветов отсутствует, и изображение содержит непосредственные RGB цвета. Поскольку возможно, что устройство отображения не будет иметь столько доступных цветов, сколько требуется для изображения, элементы данных в карте цветов должны начинаться с наиболее важных цветов.

Элементы данных Карты цветов содержат четыре байта каждый.

 

Элемент карты цветов

Смещ.       Имя                           Описание

0               Blue                        Значение синего для элемента карты цветов

1               Green                      Значение зеленого для элемента карты цветов

2               Red                         Значение красного для элемента карты цветов

3               Reserved                 Ноль

Данные Bitmap следуют сразу за картой цветов.


 

А также другие работы, которые могут Вас заинтересовать

4607. Операторы языка Delphi 408.5 KB
  Введение Главную часть программы на языке Delphi составляет раздел операторов, в котором реализуется алгоритм решения поставленной задачи, т.е. именно в нем с предварительно описанными переменными, константами, значениями функций и т.п. выполняются...
4608. Основные принципы работы с статическими структурами данных, реализованными в языке Delphi 1.59 MB
  Структуры данных наряду с алгоритмами являются основными составными частями создаваемых программ. Одну из своих книг профессор H. Вирт, автор языка программирования Pascal буквально так и назвал: Алгоритмы + Структуры данных = Программы. П...
4609. Принципы работы с файловыми данными в практике программирования 231.5 KB
  В практике программирования часто встречаются задачи, решение которых носит регулярный характер и требует большого количества относительно мало изменяемых во времени данных. К ним относятся задачи планирования, учета, хранения и выбора данн...
4610. Основные принципы объектно-ориентированного программирования, реализации этих принципов в визуальной интегрированной системе разработки программ Delphi 1.01 MB
  Введение Сложность современного программного обеспечения требует от разработчиков владения наиболее перспективными технологиями его создания. Одной из таких технологий на настоящий момент является объектно-ориентированное программирование (ООП)...
4611. Основные понятия класса, объекта и основных компонентов, используемых в Delphi 899.5 KB
  Наследуя все лучшие стороны языка Pascal и дополняя их современными технологиями программирования, основанными на идеологии объектно-ориентированного программирования, язык Delphi позволяет разработчикам использовать все важнейшие достижени...
4612. Объектно-ориентированного программирования и их реализация в системе разработки программ Delphi 1.67 MB
  Введение Сложность современного программного обеспечения требует от разработчиков владения наиболее перспективными технологиями его создания. Одной из таких технологий на настоящий момент является объектно-ориентированное программирование (ООП), при...
4613. Составление схем алгоритмов задач средней сложности с использованием возможностей программных средств 663 KB
  Введение Важным этапом разработки программы является составление схемы алгоритма решения поставленной задачи. При составлении схемы алгоритма следует придерживаться определенных стандартов в изображении элементов схемы. Для изображения схем алгоритм...
4614. Программирование выражений и операторов на языке Delphi 200.5 KB
  Главную часть программы на языке Delphi составляет раздел операторов, в котором реализуется алгоритм решения поставленной задачи, т.е. именно в нем с предварительно описанными переменными, константами, значениями функций и т.п. выполняются...
4615. Написание и использовании пользовательских подпрограмм на языке Delphi 159 KB
  В практике программирования довольно часто встречается ситуация, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких других местах программы. Чтобы избавить программиста от сто...