sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Go to revisionGo to path
Help
Rev: HEAD (658) - svn://greenwoodma.servehttp.com/open-source / SVGRoundTrip / trunk / src / old-tests / java / MultipleLogos.java
Show File - MultipleLogos.java  [show properties]
spinner
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.geom.Area;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
10 
11  public class MultipleLogos
12  {
13      public static void main(String args[]) throws Exception
14      {
15          BufferedImage img = new BufferedImage(270, 200, BufferedImage.TYPE_INT_ARGB);
16 
17          Graphics2D g = img.createGraphics();
18          g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
19 
20          paintIcon(g, 70, 0, 200, 200);
21          paintIcon(g, 0, 200 - 64, 64, 64);
22          paintIcon(g, 64 - 48, 200 - 64 - 48 - 10, 48, 48);
23          paintIcon(g, 64 - 32, 200 - 64 - 48 - 32 - 20, 32, 32);
24          paintIcon(g, 64 - 16, 200 - 64 - 48 - 32 - 16 - 30, 16, 16);
25 
26          g.dispose();
27 
28          ImageIO.write(img, "png", new File("logos.png"));
29      }
30 
31      private static void paintIcon(Graphics g, int x, int y, int width, int height)
32      {
33          Graphics2D g2d = (Graphics2D) g.create();
34          g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
35          g2d.translate(x, y);
36 
37          Area clip = new Area(new Rectangle(0, 0, width, height));
38          if (g2d.getClip() != null) clip.intersect(new Area(g2d.getClip()));
39          g2d.setClip(clip);
40 
41          double coef1 = (double) width / (double) Logo.getOrigWidth();
42          double coef2 = (double) height / (double) Logo.getOrigHeight();
43          double coef = Math.min(coef1, coef2);
44          g2d.scale(coef, coef);
45          Logo.paint(g2d);
46          g2d.dispose();
47      }
48  }

feed icon

sventon 2.1.4