Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/arranger/jarl/test/TraitTest3.java


1   package com.arranger.jarl.test;
2   
3   import com.arranger.jarl.util.IOUtil;
4   import com.arranger.jarl.util.RandomUtil;
5   
6   import java.awt.*;
7   import java.awt.geom.FlatteningPathIterator;
8   import java.awt.geom.GeneralPath;
9   import java.awt.geom.PathIterator;
10  import java.awt.geom.Point2D;
11  import java.io.File;
12  import java.util.ArrayList;
13  
14  /**
15   * TraitTest2 created on Feb 21, 2003
16   */
17  public class TraitTest3 extends TraitTest1 {
18  
19      public void testTrait3() throws Exception {
20  
21          Image image = createImage();
22          Graphics2D graphics2D = (Graphics2D)image.getGraphics();
23  
24          GeneralPath generalPath = new GeneralPath();
25          generalPath.moveTo(0, 0);
26          for (int index = 0; index < 5; index++) {
27              generalPath.quadTo(
28                  RandomUtil.getRandom(m_imageWidth),
29                  RandomUtil.getRandom(m_imageHeight),
30                  RandomUtil.getRandom(m_imageWidth),
31                  RandomUtil.getRandom(m_imageHeight)
32              );
33          }
34  
35          java.util.List tempPoints = new ArrayList();
36          PathIterator pi = generalPath.getPathIterator(null, 0.01);
37          while (!pi.isDone()) {
38              float[] pt = new float[6];
39              switch (pi.currentSegment(pt)) {
40                  case FlatteningPathIterator.SEG_MOVETO:
41                  case FlatteningPathIterator.SEG_LINETO:
42                      tempPoints.add(new Point2D.Float(pt[0], pt[1]));
43              }
44              pi.next();
45          }
46  
47          Point2D[] points = new Point2D[tempPoints.size()];
48          points = (Point2D[])tempPoints.toArray(points);
49  
50          for (int index = 0; index < points.length; index++) {
51              System.out.println(index + " --> " + points[index].toString());
52          }
53  
54          generalPath = new GeneralPath();
55          generalPath.moveTo(0, 0);
56          for (int index = 0; index < points.length; index++) {
57              Point2D point2D = points[index];
58              generalPath.lineTo((float)point2D.getX(), (float)point2D.getY());
59          }
60  
61          graphics2D.setPaint(Color.blue);
62          graphics2D.draw(generalPath);
63          IOUtil.save(image, new File("testTrait.bmp"));
64      }
65  }