Преобразование GIF/BMP в массив
Есть gif или bmp картинка, 2-х цветная, как мне ее можно преобразовать в двумерный массив, например, чтоб белый пиксель был '0', а черный - '1'?
imagecolorat()
getimagesize(), for ()
getimagesize(), for ()
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Нерационально это. Надо их хранить в упакованном формате.
Делишь координату x на 8, целая часть - номер байта, остаток - номер бита. Единицу сдвигаешь влево на номер бит, берешь байт и делаешь and полученного числа и байта.
Если получишь неноль, тогда бит установлен, иначе сброшен. Но это делается на C а не на PHP.
Делишь координату x на 8, целая часть - номер байта, остаток - номер бита. Единицу сдвигаешь влево на номер бит, берешь байт и делаешь and полученного числа и байта.
Если получишь неноль, тогда бит установлен, иначе сброшен. Но это делается на C а не на PHP.
2B OR NOT(2B) = FF
berkut, хм, неплохая функция, спасибо, думаю, проблема решена
Absurd, спасибо, какой-либо высокой производительности вообще не требуется...
Absurd, спасибо, какой-либо высокой производительности вообще не требуется...
Absurd, полный оффтоп 
Сказано-же: Есть gif или bmp картинка...
>>> Но это делается на C
А зачем тогда это писать в форуме по пхп??? Кстати говоря, этот алгоритм можно реализовать на пхп, с той-же лёгкостью, что и на цэ

Сказано-же: Есть gif или bmp картинка...
>>> Но это делается на C
А зачем тогда это писать в форуме по пхп??? Кстати говоря, этот алгоритм можно реализовать на пхп, с той-же лёгкостью, что и на цэ
compdocs
Я вижу 2 пути: либо работать напрямую с файлом - тогда читай про bmp(gif)-формат.
Либо использовать GD.
И то и другое сожрет кучу ресурсов.
Ты уверен, что это конечная цель?
Я вижу 2 пути: либо работать напрямую с файлом - тогда читай про bmp(gif)-формат.
Либо использовать GD.
И то и другое сожрет кучу ресурсов.
Ты уверен, что это конечная цель?
Хм. ВМП уже в массиве. а черно-белый - тем более. Правда каждая точка - это бит в байте.