Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SetRGB почемуто синяя картинка

28K
05 мая 2008 года
JackFall
6 / / 17.06.2007
читаб побайтово из файла BMP пикселы (после заголовка, сразу получается левый нижний конец, не суть) . объект image типа Image
Пробую в
image.SetRGB() послать прочитанную в массив int[] строку пикселов (получается длина массива 3*ширину картинки). но вместо белого отображается синий цвет. Я даже в цикле просто забивал массив значенийми 255, всё равно синий! Помогите пожалуйста, что я не так делаю.
63
05 мая 2008 года
Zorkus
2.6K / / 04.11.2006
Цитата: JackFall
читаб побайтово из файла BMP пикселы (после заголовка, сразу получается левый нижний конец, не суть) . объект image типа Image
Пробую в
image.SetRGB() послать прочитанную в массив int[] строку пикселов (получается длина массива 3*ширину картинки). но вместо белого отображается синий цвет. Я даже в цикле просто забивал массив значенийми 255, всё равно синий! Помогите пожалуйста, что я не так делаю.


Полный код процессинга картинки в студию. И перед этим объявление в разделе прочитай ;) внимательно!

28K
05 мая 2008 года
JackFall
6 / / 17.06.2007
Здесь был код
63
06 мая 2008 года
Zorkus
2.6K / / 04.11.2006
Объясни подробней, что ты вообще хочешь сделать с изображением?
Решение парсить вручную BMP файл выглядит странновато, учитывая, что для этого есть ImageIO/Image Processing API.
Еще - зачем ты смотришь первые два байта файла, чтобы удостовериться, что это именно .bmp файл?
[highlight=java]selectedFile.getAbsolutePath(),"r"[/highlight] указывает, что
файл выбирается пользователем из диалога. В таком случае, просто поставь в этом диалоге фильтр на расширения файлов.
Написать парсер графических файлов - твоя самоцель? Если да - то изучай спецификации графических форматов. Если нет - используй средства javax.imageio.*.
28K
06 мая 2008 года
JackFall
6 / / 17.06.2007
Всё довольно сложно) Мне нужно написать прогу которой можно будет просматривать огромные BMP-картинки (сотни мб) на машине где мало оперативки (гораздо меньше чем размер файла). Поэтому читаю побайтово. ImageIO/Image Processing API насколько я знаю не может предоставить мне того что надо) Пока что я вообще хочу проверить как можно прочесть вручную 24х разрядный бмп и вывести. И уже даже на этом этапи непонятки возникают.
Читаю первые 2 байта чтобы удостовериться что это бмп) и размер также читаю и сравниваю с размером файла.
В этом кусочке я просто по строками снизу вверх в image заношу данные пикселов.

Цитата: Zorkus
просто поставь в этом диалоге фильтр на расширения файлов.


А фильтр стоит, но всё бывает. Лишняя проверка не помешает.

63
07 мая 2008 года
Zorkus
2.6K / / 04.11.2006
Цитата: JackFall
Всё довольно сложно) Мне нужно написать прогу которой можно будет просматривать огромные BMP-картинки (сотни мб) на машине где мало оперативки (гораздо меньше чем размер файла). Поэтому читаю побайтово. ImageIO/Image Processing API насколько я знаю не может предоставить мне того что надо) Пока что я вообще хочу проверить как можно прочесть вручную 24х разрядный бмп и вывести. И уже даже на этом этапи непонятки возникают.
Читаю первые 2 байта чтобы удостовериться что это бмп) и размер также читаю и сравниваю с размером файла.
В этом кусочке я просто по строками снизу вверх в image заношу данные пикселов.


Спасибо, техническая часть теперь в целом понятна. Но непонятен usecase все равно.
Как ты это представляешь? Есть файл в 200 метров, и есть машина с 64 метрами (я там понял, памяти резко не хватает даже с учетом спопа?)
И вот ты читаешь какую-то часть картинки из файла, ок. Ты ее рендерить дальше собираешься в некотором окне, ограниченном viewport? И потом, когда юзер хочет скроллить картинку, ты динамически определяешь, какую часть картинки тебе надо, загружашь ее в память, процессишь и рендеришь (возможно, с кешированием и т.п.). Я правильно понял?
[quote=topicstarter]
А фильтр стоит, но всё бывает. Лишняя проверка не помешает.[/QUOTE]
Ну, если так, то то я могу создать сам файл, внести в него две эти магические буквы вначале, и переименовать в BMP... Хотя, можно проверять и сходу, чтобы сразу отсечь тупые ошибки.

28K
08 мая 2008 года
JackFall
6 / / 17.06.2007
Цитата: Zorkus
ее рендерить дальше собираешься в некотором окне, ограниченном viewport? И потом, когда юзер хочет скроллить картинку, ты динамически определяешь, какую часть картинки тебе надо, загружашь ее в память, процессишь и рендеришь (возможно, с кешированием и т.п.). Я правильно понял?



Да, гдето так. но пока вот.. проблема в начале в самом) что синее. возможно както связано с альфа каналом.. в BMP его нет, а в джаве вроде есть..

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог