01: /***********************************************************************************************
02: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
03: *
04: * Redistribution and use of this software and associated documentation ("Software"), with or
05: * without modification, are permitted provided that the following conditions are met:
06: *
07: * 1. Redistributions of source code must retain copyright statements and notices.
08: * Redistributions must also contain a copy of this document.
09: *
10: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
11: * conditions and the following disclaimer in the documentation and/or other materials
12: * provided with the distribution.
13: *
14: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
15: * products derived from this Software without prior written permission of Nathaniel G.
16: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
17: *
18: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
19: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
20: * registered trademark of Nathaniel G. Auvil.
21: *
22: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
23: *
24: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
25: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
31: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
32: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
33: ************************************************************************************************/package org.krysalis.jcharts.encoders;
34:
35: import org.krysalis.jcharts.Chart;
36: import org.krysalis.jcharts.chartData.ChartDataException;
37: import org.krysalis.jcharts.properties.PropertyException;
38:
39: import java.awt.image.BufferedImage;
40:
41: /*************************************************************************************
42: *
43: * @author Nathaniel Auvil
44: * @version $Id: BinaryEncoderUtil.java,v 1.2 2003/05/26 13:40:20 nathaniel_auvil Exp $
45: ************************************************************************************/
46: public class BinaryEncoderUtil {
47:
48: /******************************************************************************************
49: *
50: *
51: ******************************************************************************************/
52: private BinaryEncoderUtil() throws Exception {
53: throw new Exception(
54: "No need to create an instance of this class!");
55: }
56:
57: /******************************************************************************************
58: *
59: * @param chart
60: * @return BufferedImage
61: * @throws ChartDataException
62: * @throws PropertyException
63: *******************************************************************************************/
64: static BufferedImage render(Chart chart) throws ChartDataException,
65: PropertyException {
66: BufferedImage bufferedImage = null;
67:
68: //---if we use an ImageMap, we already have rendered the chart byt the time we get here so,
69: //--- simply return the rendered image.
70: if (chart.getGenerateImageMapFlag()) {
71: bufferedImage = chart.getBufferedImage();
72: }
73: //---else, create a new BufferedImage and set the Graphics2D onto the chart.
74: else {
75: bufferedImage = new BufferedImage(chart.getImageWidth(),
76: chart.getImageHeight(), BufferedImage.TYPE_INT_RGB);
77: chart.setGraphics2D(bufferedImage.createGraphics());
78: chart.render();
79: }
80:
81: return bufferedImage;
82: }
83: }
|