| <test title="Basic Paint Testing"> |
| <description> |
| This test validates basic convertion of Java 2D API paints |
| into SVG attributes |
| </description> |
| <description> |
| The test draws rectangles that are filled with the three |
| default Paint implementations that come in the API: Color, |
| GradientPaint and TexturePaint. |
| </description> |
| <javaCode> |
| g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, |
| RenderingHints.VALUE_ANTIALIAS_ON); |
| |
| // Get default paint for painting text |
| Paint defaultPaint = Color.black; |
| g.setPaint(defaultPaint); |
| |
| g.translate(0, 30); |
| |
| // Define the rectangle that will be drawn multiple |
| // times |
| Rectangle rect = new Rectangle(10, 20, 100, 60); |
| |
| // First, test plain color with transparency |
| Color fillColor = new Color(255, 255, 0, 128); |
| g.drawString("Semi transparent black", 10, 10); |
| g.drawString("Behind Rectangle", 40, 60); |
| g.setPaint(fillColor); |
| g.fill(rect); |
| |
| g.translate(0, 90); |
| |
| // Now, test linear gradient |
| GradientPaint fillGradient = new GradientPaint(10, 20, Color.red, |
| 110, 80, Color.yellow); |
| g.setPaint(defaultPaint); |
| g.drawString("Red to Yellow linear gradient", 10, 10); |
| g.setPaint(fillGradient); |
| g.fill(rect); |
| |
| g.translate(0, 90); |
| |
| // Now, test texture paint |
| BufferedImage buf = new BufferedImage(20, 20, BufferedImage.TYPE_INT_RGB); |
| Graphics2D bg = buf.createGraphics(); |
| bg.setPaint(Color.red); |
| bg.fillRect(0, 0, 10, 10); |
| bg.setPaint(Color.yellow); |
| bg.fillRect(10, 10, 10, 10); |
| bg.dispose(); |
| TexturePaint fillTexture = new TexturePaint(buf, new Rectangle(10, 20, 20, 20)); |
| g.setPaint(defaultPaint); |
| g.drawString("Texture Paint", 10, 10); |
| g.setPaint(fillTexture); |
| g.fill(rect); |
| |
| </javaCode> |
| </test> |