Move getImageSpritePixels to ImageUtil
This commit is contained in:
@@ -26,7 +26,6 @@
|
|||||||
package net.runelite.client.plugins.banktags.tabs;
|
package net.runelite.client.plugins.banktags.tabs;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.image.PixelGrabber;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -61,26 +60,9 @@ public enum TabSprites
|
|||||||
|
|
||||||
for (TabSprites value : values())
|
for (TabSprites value : values())
|
||||||
{
|
{
|
||||||
map.put(value.spriteId, getSpritePixels(client, value.image));
|
map.put(value.spriteId, ImageUtil.getImageSpritePixels(value.image, client));
|
||||||
}
|
}
|
||||||
|
|
||||||
return map;
|
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());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ package net.runelite.client.plugins.interfacestyles;
|
|||||||
|
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.image.PixelGrabber;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
@@ -47,6 +46,7 @@ import net.runelite.client.eventbus.Subscribe;
|
|||||||
import net.runelite.client.game.SpriteManager;
|
import net.runelite.client.game.SpriteManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
import net.runelite.client.util.ImageUtil;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
@@ -195,7 +195,7 @@ public class InterfaceStylesPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
log.debug("Loading: " + filePath);
|
log.debug("Loading: " + filePath);
|
||||||
BufferedImage spriteImage = ImageIO.read(inputStream);
|
BufferedImage spriteImage = ImageIO.read(inputStream);
|
||||||
return getImageSpritePixels(spriteImage);
|
return ImageUtil.getImageSpritePixels(spriteImage, client);
|
||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
@@ -209,23 +209,6 @@ public class InterfaceStylesPlugin extends Plugin
|
|||||||
return null;
|
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()
|
private void adjustWidgetDimensions()
|
||||||
{
|
{
|
||||||
for (WidgetOffset widgetOffset : WidgetOffset.values())
|
for (WidgetOffset widgetOffset : WidgetOffset.values())
|
||||||
@@ -284,7 +267,7 @@ public class InterfaceStylesPlugin extends Plugin
|
|||||||
|
|
||||||
if (compassImage != null)
|
if (compassImage != null)
|
||||||
{
|
{
|
||||||
SpritePixels compass = getImageSpritePixels(compassImage);
|
SpritePixels compass = ImageUtil.getImageSpritePixels(compassImage, client);
|
||||||
client.setCompass(compass);
|
client.setCompass(compass);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,16 +30,21 @@ import java.awt.Image;
|
|||||||
import java.awt.geom.AffineTransform;
|
import java.awt.geom.AffineTransform;
|
||||||
import java.awt.image.AffineTransformOp;
|
import java.awt.image.AffineTransformOp;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.awt.image.PixelGrabber;
|
||||||
import java.awt.image.RescaleOp;
|
import java.awt.image.RescaleOp;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.GrayFilter;
|
import javax.swing.GrayFilter;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.SpritePixels;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Various Image/BufferedImage utilities.
|
* Various Image/BufferedImage utilities.
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
public class ImageUtil
|
public class ImageUtil
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -407,4 +412,28 @@ public class ImageUtil
|
|||||||
{
|
{
|
||||||
return new RescaleOp(scales, offsets, null).filter(image, null);
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user