From 8ab704f8a3487ac326a9029f979cdf7614d428d6 Mon Sep 17 00:00:00 2001 From: TheStonedTurtle <29030969+TheStonedTurtle@users.noreply.github.com> Date: Sun, 9 Dec 2018 17:49:37 -0800 Subject: [PATCH] Move getImageSpritePixels to ImageUtil --- .../plugins/banktags/tabs/TabSprites.java | 20 +------------ .../InterfaceStylesPlugin.java | 23 ++------------- .../net/runelite/client/util/ImageUtil.java | 29 +++++++++++++++++++ 3 files changed, 33 insertions(+), 39 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabSprites.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabSprites.java index 290db8c67c..e7706679b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabSprites.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabSprites.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.banktags.tabs; import java.awt.image.BufferedImage; -import java.awt.image.PixelGrabber; import java.util.HashMap; import java.util.Map; import lombok.Getter; @@ -61,26 +60,9 @@ public enum TabSprites for (TabSprites value : values()) { - map.put(value.spriteId, getSpritePixels(client, value.image)); + map.put(value.spriteId, ImageUtil.getImageSpritePixels(value.image, client)); } return map; } - - private static SpritePixels getSpritePixels(Client client, BufferedImage image) - { - int[] pixels = new int[image.getWidth() * image.getHeight()]; - - try - { - new PixelGrabber(image, 0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth()) - .grabPixels(); - } - catch (InterruptedException ex) - { - log.debug("PixelGrabber was interrupted: ", ex); - } - - return client.createSpritePixels(pixels, image.getWidth(), image.getHeight()); - } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index 4e32c09f6a..742fb53a0d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -28,7 +28,6 @@ package net.runelite.client.plugins.interfacestyles; import com.google.inject.Provides; import java.awt.image.BufferedImage; -import java.awt.image.PixelGrabber; import java.io.IOException; import java.io.InputStream; import javax.imageio.ImageIO; @@ -47,6 +46,7 @@ import net.runelite.client.eventbus.Subscribe; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.client.util.ImageUtil; @Slf4j @PluginDescriptor( @@ -195,7 +195,7 @@ public class InterfaceStylesPlugin extends Plugin { log.debug("Loading: " + filePath); BufferedImage spriteImage = ImageIO.read(inputStream); - return getImageSpritePixels(spriteImage); + return ImageUtil.getImageSpritePixels(spriteImage, client); } catch (IOException ex) { @@ -209,23 +209,6 @@ public class InterfaceStylesPlugin extends Plugin return null; } - private SpritePixels getImageSpritePixels(BufferedImage image) - { - int[] pixels = new int[image.getWidth() * image.getHeight()]; - - try - { - new PixelGrabber(image, 0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth()) - .grabPixels(); - } - catch (InterruptedException ex) - { - log.debug("PixelGrabber was interrupted: ", ex); - } - - return client.createSpritePixels(pixels, image.getWidth(), image.getHeight()); - } - private void adjustWidgetDimensions() { for (WidgetOffset widgetOffset : WidgetOffset.values()) @@ -284,7 +267,7 @@ public class InterfaceStylesPlugin extends Plugin if (compassImage != null) { - SpritePixels compass = getImageSpritePixels(compassImage); + SpritePixels compass = ImageUtil.getImageSpritePixels(compassImage, client); client.setCompass(compass); } } diff --git a/runelite-client/src/main/java/net/runelite/client/util/ImageUtil.java b/runelite-client/src/main/java/net/runelite/client/util/ImageUtil.java index 94deb30dc6..1fa63d815e 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/ImageUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/util/ImageUtil.java @@ -30,16 +30,21 @@ import java.awt.Image; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; +import java.awt.image.PixelGrabber; import java.awt.image.RescaleOp; import java.io.IOException; import java.util.Arrays; import javax.imageio.ImageIO; import javax.swing.GrayFilter; import java.util.function.Predicate; +import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Client; +import net.runelite.api.SpritePixels; /** * Various Image/BufferedImage utilities. */ +@Slf4j public class ImageUtil { /** @@ -407,4 +412,28 @@ public class ImageUtil { return new RescaleOp(scales, offsets, null).filter(image, null); } + + + /** + * Converts the buffered image into a sprite image and returns it + * @param image The image to be converted + * @param client Current client instance + * @return The buffered image as a sprite image + */ + public static SpritePixels getImageSpritePixels(BufferedImage image, Client client) + { + int[] pixels = new int[image.getWidth() * image.getHeight()]; + + try + { + new PixelGrabber(image, 0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth()) + .grabPixels(); + } + catch (InterruptedException ex) + { + log.debug("PixelGrabber was interrupted: ", ex); + } + + return client.createSpritePixels(pixels, image.getWidth(), image.getHeight()); + } }