Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Хранение изображения в памяти






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

Рис.2. Растровое изображение.

Для задания цвета точки монохромного (" чёрно-белого") изображения используется численное значение, задающее интенсивность свечения пиксела. Для этого достаточно использовать 1 байт, принимающий значения от 0 до 255. Монохромное изображение можно отобразить как чёрно-белое, где цвета точек являются различными оттенками серого цвета. Значение 0 соответствует чёрному цвету, а 255 максимально яркому белому цвету.
Для задания цветного изображения используется модель RGB (аббревиатура от Red, Green, Blue). В этой модели цвет пиксела задаётся как сумма трёх цветовых компонент - красного, зелёного и синего. Интенсивность каждой компоненты кодируется одним байтом (численным значением от 0 до 255). Цветное изображение можно понимать как результат наложения трёх монохромных изображений, соответствующих трём компонентам RGB.

Иногда используется дополнительный специальный четвёртый байт, принимающий специальное служебное значение. Например, им можно пометить так называемый " прозрачный" цвет, который считается " прозрачным" при наложении изображения поверх другого изображения.

Рис.3. RGB

Итак, для хранения изображения нужно выделить в памяти двумерный массив M[x][y], где x - ширина изображения (число точек по горизонтали), а y - высота изображения (число точек по вертикали). Элемент массива является структурой данных, которая занимает четыре байта.
Изображение размером 1024 x 768 точек будет занимать ровно 3 мегабайта памяти. Для современных компьютеров это незначительная величина, и можно хранить в памяти одновременно множество таких изображений.
Как правило, в любой программной среде есть графическая библиотека, содержащая готовые функции по выделению памяти для хранения изображений и для их вывода на экран.
Далее показан программный код, позволяющий работать с изображениями, хранящимися в памяти компьютера.

 

 

 

 

 

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.