package org.teachingextensions.virtualproctor; import java.awt.Component; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import org.teachingextensions.approvals.lite.writers.ComponentApprovalWriter; public class ScreenCapture { public static BufferedImage getScaledImageOf(Component component, int width, int height) { BufferedImage image = ComponentApprovalWriter.drawComponent(component); return scaleImage(image, width, height); } public static BufferedImage scaleImage(BufferedImage image, int width, int height) { return toBufferedImage(image.getScaledInstance(width, height, Image.SCALE_SMOOTH)); } public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage) image; } BufferedImage buffered = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics2D graphics = buffered.createGraphics(); graphics.drawImage(image, 0, 0, null); graphics.dispose(); return buffered; } }