From 6e3a7ede394cc3c71c69017a194d4f69ace0bc10 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 11 May 2011 17:17:15 +0400 Subject: [PATCH] Advanced card image loading: thumbnails (slow on first run). Updated mage-card-plugin. Disabled foil cards. --- Mage.Client/plugins/mage-card-plugin.jar | Bin 308566 -> 309100 bytes .../main/java/mage/client/cards/BigCard.java | 10 +++-- .../main/java/mage/client/cards/CardGrid.java | 3 ++ .../java/org/mage/card/arcane/CardPanel.java | 7 ++- .../plugins/card/constants/Constants.java | 1 + .../mage/plugins/card/images/ImageCache.java | 40 +++++++++++++++++- 6 files changed, 52 insertions(+), 9 deletions(-) diff --git a/Mage.Client/plugins/mage-card-plugin.jar b/Mage.Client/plugins/mage-card-plugin.jar index 5eea9233d05aba7e31473a808bcf392d09b766e6..63dbb7b2d4cb6f86a0c98966a0ff9728951c6240 100644 GIT binary patch delta 40403 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

*uR0L8UTrGU?3oNP$|Tl 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 { public BufferedImage apply(String key) { try { + boolean thumbnail = false; + if (key.endsWith("#thumb")) { + thumbnail = true; + key = key.replace("#thumb", ""); + } Matcher m = KEY_PATTERN.matcher(key); if (m.matches()) { @@ -66,8 +71,21 @@ public class ImageCache { if (path == null) return null; File file = new File(path); - BufferedImage image = loadImage(file); - return image; + if (thumbnail && path.endsWith(".jpg")) { + String thumbnailPath = path.replace(".jpg", ".thumb.jpg"); + File thumbnailFile = new File(thumbnailPath); + if (thumbnailFile.exists()) { + log.info("loading thumbnail for " + key + ", path="+thumbnailPath); + return loadImage(thumbnailFile); + } else { + BufferedImage image = loadImage(file); + if (image == null) return null; + log.info("creating thumbnail for " + key); + return makeThumbnail(image, thumbnailPath); + } + } else { + return loadImage(file); + } } else { throw new RuntimeException( "Requested image doesn't fit the requirement for key (##): " + key); @@ -82,6 +100,12 @@ public class ImageCache { }); } + public static BufferedImage getThumbnail(CardView card) { + String key = getKey(card) + "#thumb"; + //log.debug("#key: " + key); + return getImage(key); + } + public static BufferedImage getImageOriginal(CardView card) { String key = getKey(card); //log.debug("#key: " + key); @@ -139,6 +163,18 @@ public class ImageCache { return image; } + + public static BufferedImage makeThumbnail(BufferedImage original, String path) { + BufferedImage image = getResizedImage(original, Constants.THUMBNAIL_SIZE_FULL); + File imagePath = new File(path); + try { + log.info("thumbnail path:"+path); + ImageIO.write(image, "jpg", imagePath); + } catch (Exception e) { + log.error(e,e); + } + return image; + } /** * Returns an image scaled to the size given