|
|
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Есть примерно такой код Код: java 1. 2. 3. 4. 5. 6. 7. но поскольку JPEGImageReader не умеет разбирать секции EXIF (JPEG.APP1), то и Thumbnail в jpeg он тоже не видит. А из больших картинок делать маленькие путем resize долго. Есть библиотека metadata-extractor которая умеет парсить EXIF, но читать весь файл второй раз очень не хочется (т.к. опять же требует времени), тем более что JPEGImageReader хотя и не умеет парсить EXIF, но (!!!) он его читает (в виде массива байт) и сохраняет у себя в JPEGMetadata. metadata-extractor может чичтать как файлы и так и отдельные секции в виде массива байт - поэтому вроде бы все просто - нужно взять массив байт из JPEGMetadata и отдать его metadata-extractor. И вот тут возникла проблема - доступ к данным JPEGMetadata ограничен: Код: java 1. 2. 3. 4. 5. 6. 7. Код: java 1. 2. 3. 4. 5. Читал что через Reflection можно добраться до закрытых свойств и методов, но тут вот целый класс спрятали... и главное непонятно зачем??? Если данные не нужны, так и не хранили бы, а так вроде все есть, но JPEGMetadata этот массив нафиг не нужен, ибо он таких тэгов не знает, а никому другому доступа нет... Если кто знает как добраться до этих данных, просьба подсказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:21:57 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Так может подключить ImageReader, который умеет? http://download.java.net/media/jai-imageio/javadoc/1.1/overview-summary.html#JPEG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:30:34 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Вот, кто-то уже боролся http://javagraphics.blogspot.com/2010/03/images-reading-jpeg-thumbnails.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:38:49 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Данные таки получил..., но это конечно очень черз-одно-местный способ. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. to Blazkowicz По поводу борьбы читал, там похоже написали собственную читалку JPEG, т.е. вариант мало чем отличается от использования metadata-extractor (хотя могу и ошибаться там много кода). По поводу JAI - насколько я понимаю это отдельная читалка со своим API, вопрос в том можно ли ее встроить в ImageIO на уровне провайдера? И если да, то хотя бы кратенький примерчик как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:10:52 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
eml78По поводу JAI - насколько я понимаю это отдельная читалка со своим API, вопрос в том можно ли ее встроить в ImageIO на уровне провайдера? И если да, то хотя бы кратенький примерчик как? На практике не сталкивался. Но на сколько я понимаю, достаточно в classpath положить, тогда ImageIO должен использовать евойные ридеры\райтеры. Это же SPI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:35:07 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
to Blazkowicz Пробовал, не получилось - во-первых, похоже что ридеры\райтеры нужно руками регистрировать (я так ридер для ICO подключал), а для этого нужно знать весь список. А во-вторых в JAI 1.1.3 который на офф сайте выложен вообще нет пакетов com.sun.media.imageio.plugins.*, там com.sun.media.jai.* и javax.media.jai.* А по ссылкам на сайт http://java.net/projects/jai я тыкался но так и не нашел где скачать рабочую версию (там только исходники из svn качать можно) - то ли я глупый, то ли интерфейс такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:44:15 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
JAI вроде заработал там оказывается еще PATH нужен, т.к. dll используются, но его ридер для jpg через метод readerSupportsThumbnails выдает false... Так что тут наверное стоит согласиться с автором статьи - тащить несколько Мб, заставлять пользователя менять переменную PATH, а потом еще доступ видимо через одно место, т.к. стандартные методы ImageIO не работают - крайне сомнительное удовольствие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 18:19:53 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
eml78JAI вроде заработал там оказывается еще PATH нужен, т.к. dll используются, но его ридер для jpg через метод readerSupportsThumbnails выдает false... Так что тут наверное стоит согласиться с автором статьи - тащить несколько Мб, заставлять пользователя менять переменную PATH, а потом еще доступ видимо через одно место, т.к. стандартные методы ImageIO не работают - крайне сомнительное удовольствие. DLL можно и без PATH подключить. Но если thumbnail всё равно не работают. Тогда ваш способ однозначно лучше. Можно взять OpenJDK и пропатчить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 18:42:19 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
BlazkowiczDLL можно и без PATH подключить. Тогда их видимо придется в системный каталог выложить, т.к. JAI вроде не находит dll, которые лежат в том же каталоге что и jar. Или вы имели в виду что-то другое? BlazkowiczНо если thumbnail всё равно не работают. Возможно это потому что у меня JAI Tools версии 1.0, но на офф сайте ссылка на версию 1.1 не работает. А других вариантов для скачивания найти пока не удалось. Может у кого есть, выложите, pls или ссылочку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 10:17:17 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
eml78Тогда их видимо придется в системный каталог выложить, т.к. JAI вроде не находит dll, которые лежат в том же каталоге что и jar. Или вы имели в виду что-то другое? System.load(), Runtime.load() загружают из указанного места. Можно попробовать сначал загрузить этим методом, потом запустить JAI. eml78Возможно это потому что у меня JAI Tools версии 1.0, но на офф сайте ссылка на версию 1.1 не работает. А других вариантов для скачивания найти пока не удалось. Может у кого есть, выложите, pls или ссылочку... http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#7341-JAI-1.1.2-oth-JPR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 11:06:27 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Blazkowicz http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#7341-JAI-1.1.2-oth-JPR Я там был но там нет даже ссылки на Tools 1.1 - только 1.0.01 (Java Advanced Imaging Image I/O Tools 1.0_01) Вот здесь она есть http://www.oracle.com/technetwork/java/current-142188.html, но не работает .... (404 page not found) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 11:28:05 |
|
||
|
Получение Thumbnail
|
|||
|---|---|---|---|
|
#18+
Blazkowicz http://code.google.com/p/jaitools/source/browse/#svn%2Ftags называется похоже, но судя по содержимому - это не тот проект :( "Правильный проект" :) лежит здесь http://java.net/projects/jai-imageio но там есть только исходники в svn (бинарная версия отсутствует). Собрать конечно можно, но это на мой взгляд неправильный метод для сторонних библиотек..., тем более что предыдущие версии на сайте Oracle доступны в собранном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 11:55:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37674031&tid=2132498]: |
0ms |
get settings: |
22ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
67ms |
get topic data: |
22ms |
get forum data: |
4ms |
get page messages: |
108ms |
get tp. blocked users: |
4ms |
| others: | 353ms |
| total: | 617ms |

| 0 / 0 |
