Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение ImageMetadata из сгенерированного image? 
:(
    Опции темы
Killer_13
  Дата 8.8.2012, 15:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Здравств, нужно прочитать ImageMetadata с помощью JavaScript.

Нашел вот такую вот инфу.
Чтение метаднных плагином: http://blog.nihilogic.dk/2008/08/imageinfo...adata-with.html
Чтение метаднных jQuery-плагином: http://blog.nihilogic.dk/2008/05/jquery-ex...ata-plugin.html

Больше ничего толкового не нашел.
jQuery-плагин работает, но особо данных не выдает.
первый плагин у меня рубит какую-то ошибку.

Фишка в том, что я на сервере генерирую картинку и с помощью вот такого кода загоняю в нее метаданные.
Потом хочу JavaScript-ом эти данные прочитать. Кто-то делал похожее? Кто-то знает как это сделать?


Код

    private byte[] writeMetadataToImage(ByteArrayOutputStream baos) throws Exception {
        
        InputStream in = new ByteArrayInputStream(baos.toByteArray());
        BufferedImage bImageFromConvert = ImageIO.read(in);
        
        ImageWriter writer = ImageIO.getImageWritersByFormatName("png").next();

        ImageWriteParam writeParam = writer.getDefaultWriteParam();
        ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB);

        IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, writeParam);
        
        IIOMetadataNode textEntry = new IIOMetadataNode("tEXtEntry");
        textEntry.setAttribute("keyword", "Blup");
        textEntry.setAttribute("value", "Flup");

        IIOMetadataNode text = new IIOMetadataNode("Oleg");
        text.appendChild(textEntry);


        IIOMetadataNode root = new IIOMetadataNode("javax_imageio_png_1.0");
        root.appendChild(text);


        ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
        ImageOutputStream stream = ImageIO.createImageOutputStream(baos2);

        writer.setOutput(stream);
        writer.write(metadata, new IIOImage(bImageFromConvert, null, metadata), writeParam);
        
        stream.close();

        return baos2.toByteArray();

    }


Код взят отсюда: http://stackoverflow.com/questions/6495518...8735707#8735707

Спасибо за помощь.
PM MAIL   Вверх
dstorm81
Дата 10.8.2012, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



а если схитрить???
и генерировать картинку с метаданными и писать кусок html с метаданными, 
а потом из html читать эти метаданные через javascript??

тут тоже об вашем беде http://javascript.ru/forum/misc/30566-chte...nogo-image.html


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
skyboy
Дата 10.8.2012, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



если картинку генерит твой сервер, то можешь метаданные передавать в заголовках ответа.
это проще, чем со структурой файла на уровне байт чудить
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.