|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.06.2012, 04:24 | #1 |
Пользователь
Регистрация: 02.05.2009
Сообщений: 18
|
bmp в массив
Нужно представить черно-белую картинку(отсканированные текст) в массив 0 и 1( где 1-черный пиксель,0-белый пиксель).Результат записываю в файл.
Код работает, но почему то в итоге в файле картина не полностью, только ее часть. Не зависит от размер картинки. Даже если маленькая -то все равно часть отображается. В чем может быть дело? Код:
Вот что у меня получается Последний раз редактировалось palochka; 01.06.2012 в 04:32. |
01.06.2012, 07:33 | #2 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Просто вы выделяете мало места, вот и не вся картинка сохраняется.
Попробуйте выделять не просто Height,a Height*Width. Правда, сначала хотелось бы увидеть какого типа переменная MasY. И узнать, какая глубина цвета у изображения? Чтобы узнать глубину цвета, после LoadFromFile() напишите showmessage(inttostr(bmp1.PixelForm at));
Если помог, проси поставить минус. Будь оригинален!
|
01.06.2012, 09:10 | #3 |
Пользователь
Регистрация: 02.05.2009
Сообщений: 18
|
var MasY:array of Pbytearray;
Пишет ошибка. Inttostr не может быть вызван с этими аргументом Код:
Пыталась выделять больше памяти, как вы сказали .Ничего не меняется. Видимо надо еще где то подправить. Не могу сообразить Код:
|
01.06.2012, 14:47 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,316
|
Код:
Конечно, при использовании scanline можно получить ускорение, но, имхо, это не критично, по крайней мере, при такой обработке данных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.06.2012, 15:22 | #5 |
Пользователь
Регистрация: 02.05.2009
Сообщений: 18
|
Спасибо огромное!!!!! Сейчас буду пробывать!!!!
Урааа!!!Работает!!!!!!!!!! Последний раз редактировалось palochka; 01.06.2012 в 15:40. |
01.06.2012, 20:02 | #6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
При глубине цвета 24 бита на один цвет нужно 3 байта, т.е. объем памяти, выделяемой под строку, должен втрое превосходить ее длину в пикселях.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наложить BMP на BMP. | sergeyrulit | Общие вопросы Delphi | 6 | 05.03.2015 13:41 |
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны | Koksa | Помощь студентам | 0 | 10.10.2011 11:26 |
Загрузка BMP в Simple Graph и сохранение в BMP формат | artemavd | Общие вопросы Delphi | 10 | 02.10.2010 14:19 |
BMP в массив | fen1ksss | Мультимедиа в Delphi | 21 | 21.09.2010 01:22 |
Как загрузить BMP в массив и обратно в С++ | Ilja | Общие вопросы C/C++ | 8 | 07.03.2009 23:48 |