Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2013, 06:42   #1
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию Считать из BMP (1bit/pixel) массив бит.

Как это возможно реализовать? Нашел либу поиска пути, но она работает не так как надо (есть ненужный вес ячеек и "тяжелый" формат карты - 24bit, вместо хотя бы 8bit, учитывая вес), в итоге придется писать поиск пути самому, и первое с чем столкнулся - загрузка массива из .bmp с pf1bit в массив "бит".
1. Лучше использовать
Код:
Map:array of array of boolean;//вроде, по байту на ячейку
или
Код:
type bit = 0..1;
Map:array of array of bit;//не знаю "по сколько" на ячейку
?
2. Как загрузить изображение в этот массив? Пробовал много вариантов, но руки кривые и в итоге ничего не получалось (есть 2 bmp, нормальное и инвертированное, в итоге случайная ячейка и в 1м и во 2м показывала одинаковое значение)...
alextrof94$gmail.com

Последний раз редактировалось alextrof94; 25.05.2013 в 06:45.
alextrof94 вне форума Ответить с цитированием
Старый 25.05.2013, 09:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

http://desksoft.ru/index.php?s_id=0b...36%7C350%7C351
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.05.2013, 15:05   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от alextrof94 Посмотреть сообщение
1. Лучше использовать
Код:
Map:array of array of boolean;//вроде, по байту на ячейку
или
Код:
type bit = 0..1;
Map:array of array of bit;//не знаю "по сколько" на ячейку
?
По большому счету это эквивалентно (и, соответственно, одинаково неэффективно).
Разницы с точки зрения хранения нет, а с точки зрения использования... - это Вам виднее.
Цитата:
2. Как загрузить изображение в этот массив? Пробовал много вариантов, но руки кривые и в итоге ничего не получалось (есть 2 bmp, нормальное и инвертированное, в итоге случайная ячейка и в 1м и во 2м показывала одинаковое значение)...
Так не бывает.

Вообще-то я бы посоветовал хранить массив в памяти именно так, как он хранится в BMP-файле, т.е. одна ячейк4а на 1 бит, а не 1 ячейка на 1 байт, как Вы хотите.
Соответственно, Вам нужно только научиться извлекать нужный бит при помощи битовых операций и сдвигов.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив из 9 байт расматривая его как массив 72 бит подсчитать число нулей в этом массиве. noob asm Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 16.04.2012 19:04
Считать блоками по 64 бит из файла. С Pecho Помощь студентам 5 04.02.2011 15:15
Имеется массив из n чисел от 0 до (2 в степени k) - 1, каждое из которых мы будем рассматривать как k-бит alykaa Помощь студентам 5 05.12.2010 00:12
Текстовый файл -> массив бит darel Общие вопросы .NET 1 28.04.2010 15:09
Как из .BMP считать попиксельно OrdJONY Мультимедиа в Delphi 7 17.08.2008 15:46