SwingChartUtil.java
- package de.slothsoft.charts.swing;
- import java.awt.Graphics2D;
- import java.awt.RenderingHints;
- import java.awt.image.BufferedImage;
- import de.slothsoft.charts.Area;
- import de.slothsoft.charts.Chart;
- import de.slothsoft.charts.PaintInstructions;
- /**
- * Some util classes to generate stuff surrounding the {@link Chart} in Swing.
- *
- * @author Stef Schulz
- * @since 0.2.0
- */
- public final class SwingChartUtil {
- /**
- * Creates an {@link BufferedImage} from a chart.
- *
- * @param chart the chart to create an image for
- * @param imageWidth the image's width
- * @param imageHeight the image's height
- * @return an image
- */
- public static BufferedImage createImage(Chart chart, int imageWidth, int imageHeight) {
- final BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_ARGB);
- final Graphics2D graphics2D = image.createGraphics();
- graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- try {
- chart.paintOn(new Graphics2DGraphicContext(graphics2D),
- new PaintInstructions(new Area(imageWidth, imageHeight)));
- return image;
- } finally {
- graphics2D.dispose();
- }
- }
- private SwingChartUtil() {
- // hide util class
- }
- }