![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
bougle |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.4.2006 Где: Хабаровск Репутация: нет Всего: нет |
Из сети принимается массив байтов. 152х200 точек 8-битного серого изображения. Нужно сохранить его в формате BMP
Мое решение: Так как массив полностью идентичен растру BMP файла, то просто добавляю к нему заголовок BMP.
meta.dat - Сохраненный заголовок для BMP файла такого формата. raster.dat - Сохраненный битмап. finger.bmp - Полученный BMP файл. А как это сделать средствами java. Для создания объекта BufferedImage нужен объект WritableRaster. А как его создать из массива байтов?
Sets the data for a rectangle of pixels from a primitive array of type TransferType. В качестве Object inData можно поставить массив? Это сообщение отредактировал(а) bougle - 2.5.2006, 15:46 |
||||
|
|||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Если у тебя уже есть заголовок, пиши в файл вначале его а затем дописывай байты с картинкой и все, в чем трудности? Зачем тебе нужно создавать BufferedImage из массива байт?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
polosatij |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
можно сделать так:
и потом поменять ассоциацию на .bmp ![]() с помощью:
можно создать Image и нарисовать его в BufferedImage pixels = это int[], т.е. то, что у тебя уже есть =) удачи ![]() |
||||
|
|||||
bougle |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.4.2006 Где: Хабаровск Репутация: нет Всего: нет |
polosatij, извини, не понятно. Оставлю как есть.
Сегодня тестировали датчик. Приняли таки отпечаток пальца. Только вот на нем было некоторое количество малинового цвета. Мы с коллегой не поняли почему в картинке, которая должна быть серой по определению, появился цвет. К сожалению диска под рукой не оказалось и я сейчас не могу в спокойной обстановке рассмотреть файл. Сейчас вспомнил, что прозрачный цвет может отображаться малиновым. Никто не помнит, в стандартной палитре 8-битного серого BMP точка прозрачного цвета равена 255? *Ушел юзать поиск* ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
BMP не поддерживает прозрачность, ни в каком виде. Если только программа просмотра так себя ведет, например считая цвет верхнего левого угла прозрачным (так ведет себя Delphi).
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
bougle |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.4.2006 Где: Хабаровск Репутация: нет Всего: нет |
Точно, поюзал поиск. Дело оказалось в другом. Просто я заголовок отрезал от существующего 256-цветного BMP файла. Файл то был не серый, а цветной. Вот и все чудеса.
Сейчас пытался найти, как выглядит палитра 256-цветного серого BMP, но не могу найти даже на msdn. Не подскажете, как содать такую палитру? Или как создать такой BMP файл, а заголовок я вырежу для использования. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Можно в фотошопе, New Image - Grayscale, 8 bit. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
bougle |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.4.2006 Где: Хабаровск Репутация: нет Всего: нет |
У меня 6-ой фотошоп. Он с BMP отказывается работать.
Ладно, вот так выглядит изображение. http://bougle.narod.ru/COMBM0.jpg Только вот возникла проблема, что с датчика подключаемого через модем идут нереверсированные данные. В итоге изображение выглядит вот так: http://bougle.narod.ru/UDPimage7.jpg Сейчас создам тему про реверсию битов, это отдельный разговор. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ну тогда так:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
bougle |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 26.4.2006 Где: Хабаровск Репутация: нет Всего: нет |
Угумс, я тоже об этом подумал, но сделал почему не так. Скачал ACDSee 3.1. Точно помнил, что она в 256 градаций серого BMP сохраняет.
Какой-то у меня подход не програмерский. Всем спасибо за помощь! Надеюсь скоро сам буду писать ответы в помощь ![]() Это сообщение отредактировал(а) bougle - 9.5.2006, 03:06 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |