use of com.google.code.appengine.awt.Graphics2D in project activityinfo by bedatadriven.
the class BubbleLegendRenderer method createImage.
public ItextGraphic createImage(ImageCreator creator) {
ItextGraphic result = creator.create(width, height);
Graphics2D g2d = result.getGraphics();
if (renderRange) {
drawSymbolRange(g2d);
} else {
ImageMapRenderer.drawBubble(g2d, ColorUtil.colorFromString(layer.getBubbleColor()), bubbleCenterX, PADDING + layer.getMinRadius(), layer.getMinRadius());
}
return result;
}
use of com.google.code.appengine.awt.Graphics2D in project activityinfo by bedatadriven.
the class PolygonLegendRenderer method createImage.
public ItextGraphic createImage(ImageCreator creator) {
ItextGraphic result = creator.create(width, height);
Graphics2D g2d = result.getGraphics();
int y = 0;
for (PolygonLegend.ColorClass clazz : legend.getClasses()) {
y += PADDING;
g2d.setColor(ColorUtil.colorFromString(clazz.getColor()));
g2d.fillRect(PADDING, y, SWATCH_WIDTH, SWATCH_HEIGHT);
g2d.setColor(Color.BLACK);
g2d.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, LABEL_HEIGHT));
g2d.drawString(formatLabel(clazz), PADDING + SWATCH_WIDTH + PADDING, y + SWATCH_HEIGHT - (LABEL_HEIGHT / 2));
y += SWATCH_HEIGHT;
}
return result;
}
use of com.google.code.appengine.awt.Graphics2D in project activityinfo by bedatadriven.
the class MapIconServlet method doGet.
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// Cache forever
resp.setHeader("Cache-Control", "max-age=31556926, public");
if (req.getParameter("t").equals("bubble")) {
int radius = Integer.parseInt(req.getParameter("r"));
Color color = ColorUtil.colorFromString(req.getParameter("c"));
BufferedImage icon = new BufferedImage(radius * 2, radius * 2, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = icon.createGraphics();
g2d.setPaint(new Color(255, 255, 255, 0));
g2d.fillRect(0, 0, radius * 2, radius * 2);
renderer.drawBubble(g2d, color, radius, radius, radius);
resp.setContentType("image/png");
ImageIO.write(icon, "PNG", resp.getOutputStream());
} else {
if (req.getParameter("t").equals("piechart")) {
int radius = Integer.parseInt(req.getParameter("r"));
BufferedImage icon = new BufferedImage(radius * 2, radius * 2, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = icon.createGraphics();
PieMapMarker pmm = new PieMapMarker();
pmm.setRadius(radius);
pmm.setX(radius);
pmm.setY(radius);
String[] values = req.getParameterValues("value");
String[] colors = req.getParameterValues("color");
if (colors.length != values.length) {
String error = "Expected same amount of colors & values. Amount of Colors: [{0}]. Amount of " + "values: [{1}].";
error = String.format(error, colors.length, values.length);
throw new ServletException(error);
}
for (int i = 0; i < colors.length; i++) {
String color;
double value = 0.0;
color = colors[i];
try {
value = Double.parseDouble(values[i]);
} catch (NumberFormatException e) {
// color = Color.decode(colors[i]).getRGB();
}
SliceValue slice = new SliceValue();
slice.setColor(color);
slice.setValue(value);
pmm.getSlices().add(slice);
}
g2d.setPaint(new Color(255, 255, 255, 0));
g2d.fillRect(0, 0, radius * 2, radius * 2);
renderer.drawPieMarker(g2d, pmm);
resp.setContentType("image/png");
ImageIO.write(icon, "PNG", resp.getOutputStream());
}
}
}
use of com.google.code.appengine.awt.Graphics2D in project activityinfo by bedatadriven.
the class ImageMapRendererTest method renderPieChart.
private void renderPieChart(double value) throws FileNotFoundException, IOException {
int radius = 21;
SliceValue s1 = new SliceValue();
s1.setColor("4169E1");
s1.setValue(value);
SliceValue s2 = new SliceValue();
s2.setColor("EEEE00");
s2.setValue(360d - value);
PieMapMarker pmm = new PieMapMarker();
pmm.setRadius(21);
pmm.setColor("FF0000");
pmm.getSlices().add(s1);
pmm.getSlices().add(s2);
pmm.setX(radius);
pmm.setY(radius);
BufferedImage icon = new BufferedImage(radius * 2, radius * 2, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = icon.createGraphics();
g2d.setPaint(new Color(255, 255, 255, 0));
g2d.fillRect(0, 0, radius * 2, radius * 2);
ImageMapRenderer.drawPieMarker(g2d, pmm);
File outputFile = new File("build/report-tests/pieChart-" + ((int) value) + ".png");
outputFile.getParentFile().mkdirs();
FileOutputStream fos = new FileOutputStream(outputFile);
ImageIO.write(icon, "PNG", fos);
fos.close();
}
Aggregations