Краткий ответ
Графическую информацию компьютер хранит в цифровом виде: изображение разбивается на мелкие точки — пиксели (это называется пространственной дискретизацией), и каждая точка получает код — номер своего цвета. Чтобы посчитать «вес» картинки, нужны всего три формулы:
\[ N = 2^{i} \]
где \(N\) — число цветов в палитре, \(i\) — глубина цвета (сколько бит отведено на один пиксель).
\[ V = W \cdot H \cdot i \]
где \(V\) — объём файла в битах, \(W\) и \(H\) — ширина и высота в пикселях, \(i\) — глубина цвета в битах.
\[ \text{1 байт} = 8 \text{ бит}, \quad \text{1 Кбайт} = 1024 \text{ байта}, \quad \text{1 Мбайт} = 1024 \text{ Кбайт} \]
Как это устроено: ключевые шаги
- Разбиение на пиксели. Чем мельче сетка, тем качественнее картинка. Число пикселей \(W \cdot H\) — это и есть разрешение (например, \(1920 \times 1080\)).
- Кодирование цвета. Для каждого пикселя отводится \(i\) бит. Если \(i = 8\), то пиксель может принимать \(2^{8} = 256\) разных значений — 256 цветов.
- Палитра — таблица, где каждому номеру сопоставлен конкретный цвет. В режиме True Color \(i = 24\) бита (по 8 бит на красный, зелёный и синий каналы), и палитра не нужна — цвет кодируется сам.
- Подсчёт объёма. Умножаем «число пикселей» на «бит на пиксель» и переводим биты в байты и килобайты.
Пример с проверкой
Условие. Растровое изображение \(1024 \times 768\) пикселей, палитра 256 цветов. Найти объём.
Решение.
- Из \(N = 2^{i}\): \(256 = 2^{i}\), значит \(i = 8\) бит = 1 байт на пиксель.
- Всего пикселей: \(1024 \cdot 768 = 786\,432\).
- Объём: \(786\,432 \cdot 1 \text{ байт} = 786\,432 \text{ байт}\).
- В килобайтах: \(786\,432 : 1024 = 768\) Кбайт.
\[ V = 768 \text{ Кбайт} \]
Проверка. Идём обратным ходом: \(768 \text{ Кбайт} = 768 \cdot 1024 = 786\,432\) байт \(= 786\,432\) пикселя при 1 байте на пиксель. Делим на 768 строк — получаем 1024 пикселя в строке. Совпало с условием, значит ответ верный.
Что чаще всего ловят на контрольных
- Не перепутать \(i\) и \(N\). 256 цветов — это \(i = 8\) бит, а не 256 бит.
- Перевод единиц. Делить надо на 8, а потом на 1024, а не на 1000.
- Лишние данные. Если дан объём видеопамяти и число страниц, объём одной страницы = весь объём, делённый на число страниц.
- Векторные изображения кодируются иначе — формулами координат и параметров фигур, а не пикселями.