Thumbs.db извлечение изображений Java

1

Я ищу способ извлечь изображения из файла thumbs.db в java. Я попытался использовать метод, предоставленный другим пользователем здесь. У сегмента его кода у меня возникают проблемы с

    JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(is);
    JPEGDecodeParam param = JPEGCodec.getDefaultJPEGEncodeParam(4,JPEGDecodeParam.COLOR_ID_RGBA);
    decoder.setJPEGDecodeParam(param);
    BufferedImage originalBufferedImage = decoder.decodeAsBufferedImage();

Я получаю ошибку JPEGImageDecoder не может быть разрешен как тип.

  • 0
    Вы пробовали нажимать клавиши control + shift + o ?
  • 0
    Пробовал, что не решил проблему, спасибо за помощь, хотя. Любые другие предложения?
Показать ещё 2 комментария
Теги:
thumbnails
javax.imageio

1 ответ

1
Лучший ответ

Не используя POI, как в другом примере, но вы можете использовать мой бесплатный плагин Thumbs.db с открытым исходным кодом для ImageIO для чтения миниатюр.

Когда настройки зависимы, вы можете использовать его примерно так:

ImageInputStream input = ImageIO.createImageInput(new File("/path/thumbs.db"));
ImageReader reader = ImageIO.getImageReaders(input).next();
reader.setInput(input);

for (int i = 0; i < reader.getNumImages(); i++) {
    BufferedImage thumb = reader.getImage(i, null);

    // do something with it...
}

reader.dispose(); // These last two, preferably in a finally block or "try-with-resource"
input.close();

Если вы хотите более подробно посмотреть, как декодируются изображения, вы можете посмотреть источник для ThumbsDBImageReader.java.


PS: Если вы предпочитаете использовать POI, я думаю, что вы можете заменить свой код выше на что-то вроде этого (для каждой записи в root):

BufferedImage originalBufferedImage = ImageIO.read(is);
  • 0
    Большое спасибо за вашу помощь и предоставление вашего плагина для меня, чтобы использовать.
  • 0
    Пожалуйста! :-)
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню