Code polish. Added getting a buffered image from an icon
This commit is contained in:
parent
4c4e133ea1
commit
97aee006a1
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package dorkbox.util;
|
package dorkbox.util;
|
||||||
|
|
||||||
|
import java.awt.AlphaComposite;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
@ -31,6 +32,7 @@ import java.util.Iterator;
|
|||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.imageio.ImageReader;
|
import javax.imageio.ImageReader;
|
||||||
import javax.imageio.stream.ImageInputStream;
|
import javax.imageio.stream.ImageInputStream;
|
||||||
|
import javax.swing.Icon;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
@ -195,11 +197,12 @@ class ImageUtil {
|
|||||||
|
|
||||||
BufferedImage bimage = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
|
BufferedImage bimage = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|
||||||
Graphics2D bGr = bimage.createGraphics();
|
Graphics2D g = bimage.createGraphics();
|
||||||
bGr.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING,
|
g.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
|
||||||
RenderingHints.VALUE_RENDER_QUALITY));
|
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
|
||||||
bGr.drawImage(image, paddingX, paddingY, null);
|
|
||||||
bGr.dispose();
|
g.drawImage(image, paddingX, paddingY, null);
|
||||||
|
g.dispose();
|
||||||
|
|
||||||
// Return the buffered image
|
// Return the buffered image
|
||||||
return bimage;
|
return bimage;
|
||||||
@ -216,16 +219,37 @@ class ImageUtil {
|
|||||||
|
|
||||||
BufferedImage bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
|
BufferedImage bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|
||||||
Graphics2D bGr = bimage.createGraphics();
|
Graphics2D g = bimage.createGraphics();
|
||||||
bGr.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING,
|
g.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
|
||||||
RenderingHints.VALUE_RENDER_QUALITY));
|
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
|
||||||
bGr.drawImage(image, 0, 0, null);
|
|
||||||
bGr.dispose();
|
g.drawImage(image, 0, 0, null);
|
||||||
|
g.dispose();
|
||||||
|
|
||||||
// Return the buffered image
|
// Return the buffered image
|
||||||
return bimage;
|
return bimage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the icon, unmodified, as a Buffered Image
|
||||||
|
*/
|
||||||
|
public static
|
||||||
|
BufferedImage getBufferedImage(Icon icon) {
|
||||||
|
if (icon instanceof BufferedImage) {
|
||||||
|
return (BufferedImage) icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
BufferedImage bimage = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|
||||||
|
Graphics2D g = bimage.createGraphics();
|
||||||
|
g.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
|
||||||
|
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
|
||||||
|
|
||||||
|
icon.paintIcon(null, g, 0, 0);
|
||||||
|
g.dispose();
|
||||||
|
|
||||||
|
return bimage;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads the image size information from the specified file, without loading the entire file.
|
* Reads the image size information from the specified file, without loading the entire file.
|
||||||
|
Loading…
Reference in New Issue
Block a user