BMP — Bitmap Picture

BMP - формат, разработанный корпорацией Microsoft для редактора PaintBrush (MS Paint).
Хотя и поддерживает алгоритм сжатия RLE и индексируемые цвета, но тем не менее, о нем стоит говорить как о матрице пикселей определенного цвета. Имеет огромные размеры файла, хотя для типографских нужд все-равно не подходит. Поддерживается по сути сейчас операционной системой Windows, с остальными могут быть проблемы.
То, что сама Microsoft в новых версиях MS Paint по-умолчанию предлагает формат PNG уже о много говорит.
Для изображений в сети Интернет не подходит совершенно, поэтому поддержки данного формата нет у нашего хостинга изображений.
Из особенностей: может быть как с палитрой, так и без. То есть в качестве массива цветов может использовать только конкретные вариации, используемые в самом изображении.
Я не знаю, что можно описывать о простой матрице пикселей, поэтому распишу про алгоритм RLE, являющимся про-отцом алгоритмов LZ77 и LZW.
Допустим у нас есть строка ААААБББВВГ.
Как видно из строки, в ней 4 А, 3 Б, 2В и одна Г. Так и запишем:
4А3Б2В1Г - измененная запись
ААААБББВВГ - оригинал
Итого выигрыш 3 символа.
Если идет текст такой: АБАВАГАДДДДДД?
Можно записать егокак: 1А1Б1А1В1А1Г1А6Д - как минимум результат без выигрышей по длине. Поэтому вводим отрицательное число для неповторяемых символов:
-7АБАВАГА6Д - результат
АБАВАГАДДДДДД - оригинал
В нашем примере снова на 3 символа короче.
Вот такой он собственно и алгоритм RLE. Когда я писал свой вариант Paint'а на qBasic'е в школе, чтобы рисовать в нем заставки для своих игр/программ, то додумался до такого алгоритма сам, ничего не зная об RLE, точно имеющимся еще в Windows 3.1 как минимум. Это первое, что пришло в голову, когда я сохранил скриншот экрана (нарисованного изображения мышкой в бейсике) и получил размер в несколько мегабайт. Хотя даже тогда я старался оптимизировать изображение благодаря двумерным участками (то есть не на строку, а на прямоугольники старался разбить всю картинку).
Для пиктограм данный алгоритм можно использовать, но лучше PNG, так как там более эффективные и поддерживаемые алгоритмы.
Ноябрь 13th, 2010 - 00:16
Не понял, почему из АБАВАГАДДДДДД получилось -7АБАВАГА6Д. Т.е. с 6Д понятно, а вот почему из АБАВАГА получилось -7АБАВАГА?
Ноябрь 13th, 2010 - 11:25
-7 — знак "минус" показывает, что после него будет идти комбинация из 7 символов, которые не нужно кодировать, так как они идут плейнтекстом. Иначе бы пришлось ставить 1А1Б1В1А и тд.
RLE, кстати, используется в PSD формате, так как очень быстрый алгоритм при каких-никаких коэфициентах сжатия.
Ноябрь 13th, 2010 - 15:22
ааааа, ясненько.
P.S. А чем тебе стандартные смайлы не угодили? Которые на сайте Инсейн есть, маленькие?
Ноябрь 13th, 2010 - 15:23
Ооо! Ставил 2 смайла, а в тексте нету их.
Ноябрь 13th, 2010 - 15:23
Зато "коварный" прописывается.
Ноябрь 13th, 2010 - 15:48
Добавил галерею смайлов, вставлять перетаскиванием.
Ноябрь 13th, 2010 - 15:49
Ноябрь 13th, 2010 - 15:55
Ноябрь 13th, 2010 - 15:56
Че за…
Я своих смайлов не вижу.
Там были 2 смайла из формы комментария, и 2 смайла перетащил снизу.
Ни 1го не вижу.
Ноябрь 13th, 2010 - 15:57
А твои 2 вижу. Которые из формы коммента.
Ноябрь 13th, 2010 - 15:58
Ноябрь 13th, 2010 - 15:59
Зато тупо ":"+")"- даёт смайлик.
Ноябрь 14th, 2010 - 17:40
зря, лучше бы конвертировал в jpg. Нубы не умеют скрины сохранять в jpg и начинаются вопросы или ссылки на 5 меговые bmp-шки.
Ноябрь 14th, 2010 - 19:54
обработка BMP это только лишние ресурсы, PNG файл точно такой же по качеству весит в 10 раз меньше.