From 798ce18f0be3a90aa5fc1f5072f72779e222499e Mon Sep 17 00:00:00 2001 From: jmillman Date: Thu, 2 Jul 2015 14:14:53 -0400 Subject: [PATCH] fix animated gif loading; add "undisplayable" icon to DrawableTile.fxml --- .../imagegallery/datamodel/ImageFile.java | 30 ++++++++++++------- .../gui/drawableviews/DrawableTile.fxml | 5 ++++ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/ImageFile.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/ImageFile.java index 9624831e69..807f5976e5 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/ImageFile.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/ImageFile.java @@ -18,13 +18,11 @@ */ package org.sleuthkit.autopsy.imagegallery.datamodel; -import java.awt.image.BufferedImage; +import java.io.BufferedInputStream; import java.io.IOException; import java.lang.ref.SoftReference; import java.util.logging.Level; -import javafx.embed.swing.SwingFXUtils; import javafx.scene.image.Image; -import javax.imageio.ImageIO; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.imagegallery.ThumbnailCache; import org.sleuthkit.datamodel.AbstractFile; @@ -51,23 +49,33 @@ public class ImageFile extends DrawableFile { return ThumbnailCache.getDefault().get(this); } - public Image getFullSizeImage() { Image image = null; if (imageRef != null) { image = imageRef.get(); } - if (image == null) { - try (ReadContentInputStream readContentInputStream = new ReadContentInputStream(this.getAbstractFile())) { - BufferedImage read = ImageIO.read(readContentInputStream); - image = SwingFXUtils.toFXImage(read, null); - } catch (IOException | NullPointerException ex) { + if (image == null) { + try (BufferedInputStream readContentInputStream = new BufferedInputStream(new ReadContentInputStream(this.getAbstractFile()))) { + image = new Image(readContentInputStream); + if (image.errorProperty().get()) { + image.getException().printStackTrace(); + } + } catch (IOException ex) { Logger.getLogger(ImageFile.class.getName()).log(Level.WARNING, "unable to read file" + getName()); - return null; } - imageRef = new SoftReference<>(image); } + +// if (image == null || image.isError()) { +// try (ReadContentInputStream readContentInputStream = new ReadContentInputStream(this.getAbstractFile())) { +// BufferedImage read = ImageIO.read(readContentInputStream); +// image = SwingFXUtils.toFXImage(read, null); +// } catch (IOException | NullPointerException ex) { +// Logger.getLogger(ImageFile.class.getName()).log(Level.WARNING, "unable to read file" + getName()); +// return null; +// } +// imageRef = new SoftReference<>(image); +// } return image; } diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableTile.fxml b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableTile.fxml index acfcdc1336..2d6c8304e4 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableTile.fxml +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/DrawableTile.fxml @@ -34,6 +34,11 @@ + + + + +