/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package de.cismet.tools.gui;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
/**
* DOCUMENT ME!
*
* @author haffkeatcismet
* @version $Revision$, $Date$
*/
public class PointSymbolCreator {
//~ Methods ----------------------------------------------------------------
/**
* Erstellt ein Punktsymbol als Image aus den übergebenen Parametern.
*
* @param drawLine DOCUMENT ME!
* @param drawFill DOCUMENT ME!
* @param symbolSize DOCUMENT ME!
* @param lineWidth DOCUMENT ME!
* @param fillColor DOCUMENT ME!
* @param lineColor DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static BufferedImage createPointSymbol(final boolean drawLine,
final boolean drawFill,
final int symbolSize,
final int lineWidth,
final Color fillColor,
final Color lineColor) {
final BufferedImage symbol = new BufferedImage((2 * lineWidth) + symbolSize,
(2 * lineWidth)
+ symbolSize,
BufferedImage.TYPE_INT_ARGB);
final Graphics2D g = (Graphics2D)symbol.getGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
final int x = (symbol.getWidth() / 2) - (symbolSize / 2);
final int y = (symbol.getHeight() / 2) - (symbolSize / 2);
if (drawFill) {
g.setColor(fillColor);
g.fillOval(x, y, symbolSize, symbolSize);
}
if (drawLine) {
g.setColor(lineColor);
g.setStroke(new BasicStroke(lineWidth));
g.drawOval(x, y, symbolSize, symbolSize);
}
g.dispose();
return symbol;
}
}