KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > batik > svggen > RHints


1 /*
2
3    Copyright 2001 The Apache Software Foundation
4
5    Licensed under the Apache License, Version 2.0 (the "License");
6    you may not use this file except in compliance with the License.
7    You may obtain a copy of the License at
8
9        http://www.apache.org/licenses/LICENSE-2.0
10
11    Unless required by applicable law or agreed to in writing, software
12    distributed under the License is distributed on an "AS IS" BASIS,
13    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14    See the License for the specific language governing permissions and
15    limitations under the License.
16
17  */

18 package org.apache.batik.svggen;
19
20 import java.awt.*;
21 import java.awt.geom.*;
22 import java.awt.image.*;
23
24 /**
25  * This test validates the convertion of Java 2D RenderingHints
26  * into an SVG attributes.
27  *
28  * @author <a HREF="mailto:cjolif@ilog.fr">Christophe Jolif</a>
29  * @author <a HREF="mailto:vhardy@eng.sun.com">Vincent Hardy</a>
30  * @version $Id: RHints.java,v 1.4 2004/08/18 07:16:45 vhardy Exp $
31  */

32 public class RHints implements Painter {
33     public void paint(Graphics2D g) {
34         java.awt.RenderingHints.Key antialiasKey = java.awt.RenderingHints.KEY_ANTIALIASING;
35         Object JavaDoc antialiasOn= java.awt.RenderingHints.VALUE_ANTIALIAS_ON;
36         Object JavaDoc antialiasOff= java.awt.RenderingHints.VALUE_ANTIALIAS_OFF;
37         java.awt.RenderingHints.Key textAntialiasKey = java.awt.RenderingHints.KEY_TEXT_ANTIALIASING;
38         Object JavaDoc textAntialiasOn = java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON;
39         Object JavaDoc textAntialiasOff = java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_OFF;
40         java.awt.RenderingHints.Key interpolationKey = java.awt.RenderingHints.KEY_INTERPOLATION;
41         Object JavaDoc interpolationBicubic = java.awt.RenderingHints.VALUE_INTERPOLATION_BICUBIC;
42         Object JavaDoc interpolationNeighbor = java.awt.RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR;
43
44         Font defaultFont = g.getFont();
45         java.awt.geom.AffineTransform JavaDoc defaultTransform = g.getTransform();
46         Font textFont = new Font("Impact", Font.PLAIN, 25);
47
48         //
49
// First, test text antialiasing
50
//
51
g.setPaint(Color.black);
52         g.setRenderingHint(antialiasKey, antialiasOn);
53         g.drawString("Text antialiasing", 10, 20);
54
55         g.setRenderingHint(antialiasKey, antialiasOff);
56         g.setRenderingHint(textAntialiasKey, textAntialiasOn);
57         g.setFont(textFont);
58         g.drawString("HELLO antialiased", 30, 60);
59         g.setRenderingHint(textAntialiasKey, textAntialiasOff);
60         g.drawString("HELLO aliased", 30, 90);
61
62         //
63
// Now, test shape antialiasing
64
//
65
g.translate(0, 100);
66         g.setRenderingHint(antialiasKey, antialiasOn);
67                 g.setRenderingHint(textAntialiasKey, textAntialiasOn);
68         g.setFont(defaultFont);
69         g.drawString("Shape antialiasing", 10, 20);
70
71         g.translate(30, 0);
72         g.setRenderingHint(antialiasKey, antialiasOff);
73         Ellipse2D ellipse = new Ellipse2D.Float(10, 30, 100, 30);
74         g.fill(ellipse);
75         g.translate(0, 40);
76         g.setRenderingHint(antialiasKey, antialiasOn);
77         g.fill(ellipse);
78
79         g.setTransform(defaultTransform);
80         g.translate(0, 200);
81
82         //
83
// Now, test interpolation hint
84
//
85
BufferedImage image = new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB);
86         Graphics2D ig = image.createGraphics();
87         ig.setPaint(Color.red);
88         ig.fillRect(0, 0, 2, 2);
89         ig.setPaint(Color.yellow);
90         ig.fillRect(0, 0, 1, 1);
91         ig.fillRect(1, 1, 2, 2);
92         ig.dispose();
93
94         g.setRenderingHint(interpolationKey, interpolationNeighbor);
95         g.drawString("Interpolation Nearest Neighbor / Bicubic", 10, 30);
96         g.drawImage(image, 10, 50, 40, 40, null);
97
98         g.setRenderingHint(interpolationKey, interpolationBicubic);
99         g.drawImage(image, 60, 50, 40, 40, null);
100
101     }
102 }
103
Popular Tags