Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь. / 13 сообщений из 13, страница 1 из 1
19.04.2007, 11:51:59
    #34472163
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
В идеале хочется BMP. Но как выяснилось, ImageIO не хочет читать BMP. О тифе я уже даже не мечтаю. У Хорстмана написано, что поддерживаются GIF, JPEG и PNG. Ничто из этого меня не удовлетворит. GIF не нравится цветовой моделью (мало), JPEG может приводить к геометрическим искажениям. А про артефакты PNG я ничего не знаю и рисковать не хочу. В Википедии написано, что это формат без потерь, но что тогда подразумевается под уровнем качества PNG в GIMP?

И в любом случае, нужна поддержка BMP.
Что делать?

Код: plaintext
ROLLBACK;
...
Рейтинг: 0 / 0
19.04.2007, 11:54:35
    #34472181
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
В пятой яве есть поддержка BMP.
http://java.sun.com/developer/JDCTechTips/2004/tt1116.html#1
...
Рейтинг: 0 / 0
19.04.2007, 11:59:13
    #34472201
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
SarinА про артефакты PNG я ничего не знаю и рисковать не хочу. В Википедии написано, что это формат без потерь, но что тогда подразумевается под уровнем качества PNG в GIMP?
- PNG формат без потери качества, GIMP скорее всего имеет в виду принудительное уменьшение таблицы цветов изображения для улучшения сжатия, из-за чего качество исходного изображения изменится (станет меньше цветов).
...
Рейтинг: 0 / 0
19.04.2007, 14:25:19
    #34472865
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
Kachalov SarinА про артефакты PNG я ничего не знаю и рисковать не хочу. В Википедии написано, что это формат без потерь, но что тогда подразумевается под уровнем качества PNG в GIMP?
- PNG формат без потери качества, GIMP скорее всего имеет в виду принудительное уменьшение таблицы цветов изображения для улучшения сжатия, из-за чего качество исходного изображения изменится (станет меньше цветов).
Я тоже об этом подумал. А ещё, возможно, там применяется преобразование вроде JPEG. Ведь это должно уменьшать объём PNG-файла.

Я вот думаю, может действительно, фиг с ним. Сказать что это фича такая: работа только с PNG
...
Рейтинг: 0 / 0
19.04.2007, 16:47:37
    #34473537
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
BMP - самому написать. Там делов на 4 часа рабочего времени, если не меньше. Запись - точно. Заголовок, а потом просто цвета в палитре, если мне не изменяет память.
...
Рейтинг: 0 / 0
19.04.2007, 16:59:48
    #34473597
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
LeonidvBMP - самому написать. Там делов на 4 часа рабочего времени, если не меньше. Запись - точно. Заголовок, а потом просто цвета в палитре, если мне не изменяет память.

ну не свосем так, в зависимости от битности, если 24 бита, то там тупо последовательно RGB идет, если память не изменяет, если битность меньше, то строится таблица цветов и пишутся индексы, еще там бывает монохромный вроде, там где вообще битами пишется картинка... а так да, формат не сложный... только вот в JAI уже есть поддержка BMP, не знаю почему автор написал что у него не читает :)...
...
Рейтинг: 0 / 0
19.04.2007, 19:44:19
    #34474115
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
Я чтение бмп писал уже два раза. 24 бита. Не хочу писать теперь ещё и на джаве. Пусть работают с PNG=))

Код: plaintext
ROLLBACK;
...
Рейтинг: 0 / 0
19.04.2007, 19:46:17
    #34474120
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
привел бы код, как читаешь из JAI и картинку при аттачил, которую читаешь... должно читаться все нормально, JAI поддерживает BMP
...
Рейтинг: 0 / 0
20.04.2007, 17:54:16
    #34477149
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
Код: plaintext
1.
BufferedImage image = ImageIO.read(fChooser.getSelectedFile());

Код: plaintext
ROLLBACK;
...
Рейтинг: 0 / 0
20.04.2007, 22:26:45
    #34477629
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
Sarin...

Я тоже озадачивался подобной идеей, но когда начал разбирать библиотеку awt, временами впадал то в ярость, то в меланхолию. Либа оказалась настолько непригодной, для развития, что я её закинул и стал ждать более подходящей концепции графических парсеров.

Основная претензия - это наличие глубоких связей с пакетом sun.* (а конкретнее sun.awt.image.codec ). Там имеются некоторые имплементации необходимых кодеков. Но проблема - не в том.

Я не знаю, какую ведёт политику Sun в отношении вышеуказанных пакетов, но точно уверен, что производитель оставляет за собой право в любой момент похерить базовые классы namespace-а, а этот факт ставит под сомнение перспективу любых разработок, которые зависят от sun.*.

Другая проблема - ярко выраженная Web -ориентированность кодеков. Простейшие примеры вычитывания GIF и PNG картинок не для "показа" в апплетах а для графического анализа, требуют от вас каких-то абсолютно ненужных и непонятных телодвижений, вроде создания MemoryImageSource (!), использования ожидающих событий типа Thread.join (!) для фиксации самого факта завершения загрузки и т.п. Здравый смысл подсказывает, что явное использование ImageSource приведёт к дикому оверхеду в области кучи, что обязательно вылезет боком, если парсить не баннеры а более серьезные растровые изображения вроде рентгеновских снимков или аэрофотосъемки.

Больше всего поражает тот восторг, с которым отпетые жабисты вроде Шилдта, капая слюнями показывают "примерчики" использования графики awt. Тьфу... Мерзость...

Однако, не всё так плохо.

В настоящий момент можно попробовать сделать ставку на JAI, но судьба её - пока в неизвестности. (Кстати, Сарин вы можете поискать декодер в ней. Я не разбирался, но бегло посмотрев дерево классов обнаружил BMPImageDecoder). Сайт разработчиков находится тут https://jai.dev.java.net/

Еще можно посмотреть в сторону Batic и SVGGraphics . Хотя они ориентированы на векторную, графику, какая-то из этих либ (не помню какая), очень прияно поразила меня наличием отличных фильтров форматов растровой графики.
...
Рейтинг: 0 / 0
20.04.2007, 23:01:03
    #34477667
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
mayton
В настоящий момент можно попробовать сделать ставку на JAI, но судьба её - пока в неизвестности. (Кстати, Сарин вы можете поискать декодер в ней. Я не разбирался, но бегло посмотрев дерево классов обнаружил BMPImageDecoder). Сайт разработчиков находится тут https://jai.dev.java.net/


что значит в неизвестногсти, я как-то изначально думал, что человек использует JAI...
вот официальный сайт
JAI
...
Рейтинг: 0 / 0
20.04.2007, 23:59:42
    #34477705
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
y3u
что значит в неизвестногсти, я как-то изначально думал, что человек использует JAI...
вот официальный сайт


(пожимает плечами)

Ну дай бог.

Хочется, чтобы Sun позиционировал JAI, как подмену Java2D (AKA AWT). Но пока-что я не вижу её в составе JDK.
...
Рейтинг: 0 / 0
24.04.2007, 03:37:10
    #34482100
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь.
JPEG с нулевой компрессией не дает искажений.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение картинок формата BMP или TIFF. Или ещё чегото без потерь. / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]