Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
more.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
955.17 Кб
Скачать

Недостатки:

  • Большой размер файлов у простых изображений.

  • Невозможность идеального масштабирования.

  • Невозможность вывода на печать на плоттер.

Из‑за этих недостатков для хранения простых рисунков рекомендуют вместо даже сжатой растровой графики использовать векторную графику.

Форматы. Растровые изображения обычно хранятся в сжатом виде. В зависимости от типа сжатия может быть возможно или невозможно восстановить изображение в точности таким, каким оно было до сжатия (сжатие без потерь или сжатие с потерями соответственно). Так же в графическом файле может храниться дополнительная информация: об авторе файла, фотокамере и её настройках, количестве точек на дюйм при печати и др.

Сжатие без потерь. Использует алгоритмы сжатия, основанные на уменьшении избыточности информации.

  • BMP или Windows Bitmap – обычно используется без сжатия, хотя возможно использование алгоритма RLE.

  • GIF (Graphics Interchange Format) – устаревающий формат, поддерживающий не более 256 цветов одновременно. Всё ещё популярен из‑за поддержки анимации, которая отсутствует в чистом PNG, хотя ПО начинает поддерживать APNG.

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

  • PNG (Portable Network Graphics).

Сжатие с потерями. Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом).

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

Разное:

  • TIFF поддерживает большой диапазон изменения глубины цвета, разные цветовые пространства, разные настройки сжатия (как с потерями, так и без) и др.

  • RAW хранит информацию, непосредственно получаемую с матрицы цифрового фотоаппарата или аналогичного устройства без применения к ней каких-либо преобразований, а также хранит настройки фотокамеры. Позволяет избежать потери информации при применении к изображению различных преобразований (потеря информации происходит в результате округления и выхода цвета пиксела за пределы допустимых значений). Используется при съёмке в сложных условиях (недостаточная освещённость, невозможность выставить баланс белого и т. п.) для последующей обработки на компьютере (обычно в ручном режиме). Практически все полупрофессиональные и профессиональные цифровые фотоаппараты позволяют сохранять RAW изображения. Формат файла зависит от модели фотоаппарата, единого стандарта не существует.

BMP (от англ. Bitmap Picture) – формат хранения растровых изображений, разработанный компанией Microsoft.

С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы.

Компания Microsoft также разработала для своих нужд форматы ICO и CUR, которые имеют похожую на BMP структуру. Кроме этого, структуры из этого формата используются некоторыми WinAPI-функциями подсистемы GDI.

Глубина цвета в данном формате может быть 1, 4, 8, 16, 24, 32, 48 бит на пиксель. При этом для глубины цвета меньше 16 бит используется палитра с полноцветными компонентами глубиной 24 бита.

В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия. В частности, формат BMP поддерживает RLE-сжатие без потери качества, а современные операционные системы и программное обеспечение позволяют использовать JPEG и PNG (эти форматы встраиваются в BMP как в контейнер).

Разновидности формата BMP: DIB и DDB. При использовании формата DIB (англ. Device Independent Bitmap, аппаратно-независимый растр) программист может получить доступ ко всем элементам структур, описывающих изображение, при помощи обычного указателя. Но эти данные не используются для непосредственного управления экраном, так как они всегда хранятся в системной памяти, а не в специализированной видеопамяти. Формат пикселя в оперативной памяти может отличаться от того формата, который должен заноситься в видеопамять для индикации точки такого же цвета. Например, в DIB-формате может использоваться 24 бита для задания пикселя, а графический адаптер в этот момент может работать в режиме HiColor с цветовой глубиной 16 бит. При этом ярко-красная точка в аппаратно-независимом формате будет задаваться тремя байтами 0x0000ff, а в видеопамяти – словом 0xF800. При копировании картинки на экран система будет тратить дополнительное время на преобразование кодов цвета из 24-битного формата в формат видеобуфера.

Формат DDB (англ. Device Dependent Bitmap, аппаратно-зависимый растр) всегда содержит цветовые коды, совпадающие с кодами видеобуфера, но храниться он может как в системной, так и в видеопамяти. В обоих случаях он содержит только коды цвета в том формате, который обеспечит пересылку изображения из ОЗУ в видеопамять при помощи простого копирования.

Обзор структуры файла BMP. BMP-файл состоит из четырёх частей:

1. Заголовок файла (BITMAPFILEHEADER).

2. Заголовок изображения (BITMAPINFOHEADER, может отсутствовать). BITMAPV4HEADER (Win95, NT4.0), BITMAPV5HEADER (Win98/Me, 2000/XP).

3. Палитра (может отсутствовать).

4. Само изображение.

1. BITMAPFILEHEADER – эта структура содержит информацию о типе, размере и представлении данных в файле. Размер 14 байт.

typedef struct tagBITMAPFILEHEADER

{

WORD bfType; // смещение 0 байт от начала файла

DWORD bfSize; // смещение 2 байта от начала файла, длина 4 байта

WORD bfReserved1;

WORD bfReserved2;

DWORD bfOffBits; // смещение 10 байт от начала файла, длина 4 байта

} BITMAPFILEHEADER, *PBITMAPFILEHEADER;

Тип WORD должен иметь размер 16 бит, типы DWORD и LONG – 32 бита, тип LONG – знаковый, порядок байтов подразумевается little endian.

  • bfType – тип файла, символы «BM» (в HEX: 0x42 0x4d).

  • bfSize – размер всего файла в байтах.

  • bfReserved1 и bfReserved2 – зарезервированы, должны содержать нули.

  • bfOffBits – содержит смещение в байтах от начала структуры BITMAPFILEHEADER до непосредственно битов изображения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]