Информационные технологии

9. Растровые рисунки

Краткие теоретические сведения

Лекция

Задание к работе

Для просмотра и редактирования файлов в виде шестнадцатеричных кодов рекомендуется использовать редактор frhed.

  1. Формат BMP
    1. Откройте файл fig.bmp в редакторе frhed и с помощью средства просмотра фотографий Windows (или другой программе для просмотра фотографий). Откройте описание формата BMP и сверяйте по нему следующие действия.
    2. Посмотрите описание структуры «BITMAPFILEHEADER». Убедитесь, что первые два байта содержат код 424D, что означает, что этот файл в формате BMP.
    3. Следующие 4 байта задают размер файла. Они записаны в так называемом формате little-endian, что означает, что первый байт (по адресу 0x2) это младший 256-битный разряд всего числа. В некоторых случаях применяется формат big-endian, в котором первый байт это старший разряд. С помощью калькулятора переведите число в десятичную систему и сравните его с размером файла, сообщаемом операционной системой.
    4. 4 байта начиная с 10 задают адрес пиксельных данных, т.е. адрес байт в которых хранятся значения цветов пикселей. Запишите или запомните его.
    5. Посмотрите описание структуры «BITMAPINFO». Определите версию этой структуры по ее размеру.
    6. Найдите в полях этой структуры ширину и высоту пиксельных данных, а также количество бит на пиксель. Перемножив эти три числа, найдите количество байт, занимаемых пиксельными данными.
    7. Откройте частичное шестнадцатеричное представление файла fig1.bmp (в frhed меню «File–Open partially»). Подберите размеры окна так, чтобы в нем отображалось ровно такое количество строчек, которое было равно высоте пиксельных данных. Сравните такое представление данных с отображением файла fig1.bmp в окне средства просмотра фотографий.
    8. Измените значение первых трех байт на «00» и сохраните файл. Что произошло с рисунком?
    9. Последовательно изменяйте значения первых трех байт на «ff», сохраняя каждый раз файл. Каким цветам соответствуют каждый их этих байтов?
    10. Проверьте все варианты, в которых два первых байта из трех равны «ff», а третий «00». Объясните полученные результаты.
  2. Свойства растровых изображений
    1. Создайте пустой документ Microsoft Word и вставьте в него файл fig1.bmp. Увеличьте изображение в 10 раз («Формат рисунка–Рисунка-Масштаб–1000%»). Объясните, что произошло с изображением?
    2. Откройте в MS Paint рисунок fig1.bmp, увеличьте максимально его изображение. Нарисуйте диагональную линию минимальной толщины. Прочитайте про алгоритмы Брезенхэма и Ву и определите, какой из этих алгоритмов используется в MS Paint.
  3. Сжатие изображений
    1. С помощью программы Caesium постройте таблицу соответствия между качеством сжатия и размером выходного файла для файла fig1.bmp (в таблице должны быть все значения качества сжатия кратные 20). Оцените визуально минимальное качество сжатия, при котором не заметны искажения.
    2. Повторите предыдущий пункт для фотографии из 2 лабораторной работы.