@Test public void testGeneratedIcons() { Set<IconTester> iconTesters = new HashSet<IconTester>(); for (int hash = 0 ; hash < (1 << 8); hash++) { Icon icon = MCTIcons.generateIcon(hash, 14, Color.WHITE); Assert.assertTrue(iconTesters.add(new IconTester(icon))); } }
public static ImageIcon generateIcon(int hash, int sz, Color color) { BufferedImage image = new BufferedImage(sz,sz,BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setColor(color); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int w = hash & 3; hash>>>=1; if (w > 0) { w+=1; w*= (sz/14); g.fillRect(1,1,w,w); g.fillRect(sz-w,sz-w,w,w); g.fillRect(sz-w,1,w,w); g.fillRect(1,sz-w,w,w); } for (int radius = 1; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { if (radius < 3) { g.fillOval(sz/2-1, sz/2-1, 3, 3); } else { g.drawOval(sz/2-radius, sz/2-radius, radius*2, radius*2); } } } for (int radius = 3; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { g.drawRect(sz/2-radius, sz/2-radius, radius*2, radius*2); } } if (((hash>>>=1) & 1) != 0) { g.fillOval(1,sz/2-sz/14,sz/7,sz/7+1); g.fillOval(sz-sz/7,sz/2-sz/14,sz/7,sz/7+1); } if (((hash>>>=1) & 1) != 0) { g.fillOval(sz/2-sz/14,1,sz/7+1,sz/7); g.fillOval(sz/2-sz/14,sz-sz/7,sz/7+1,sz/7); } return new ImageIcon(image); }
MCTIcons { public static ImageIcon generateIcon(int hash, int sz, Color color) { BufferedImage image = new BufferedImage(sz,sz,BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setColor(color); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int w = hash & 3; hash>>>=1; if (w > 0) { w+=1; w*= (sz/14); g.fillRect(1,1,w,w); g.fillRect(sz-w,sz-w,w,w); g.fillRect(sz-w,1,w,w); g.fillRect(1,sz-w,w,w); } for (int radius = 1; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { if (radius < 3) { g.fillOval(sz/2-1, sz/2-1, 3, 3); } else { g.drawOval(sz/2-radius, sz/2-radius, radius*2, radius*2); } } } for (int radius = 3; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { g.drawRect(sz/2-radius, sz/2-radius, radius*2, radius*2); } } if (((hash>>>=1) & 1) != 0) { g.fillOval(1,sz/2-sz/14,sz/7,sz/7+1); g.fillOval(sz-sz/7,sz/2-sz/14,sz/7,sz/7+1); } if (((hash>>>=1) & 1) != 0) { g.fillOval(sz/2-sz/14,1,sz/7+1,sz/7); g.fillOval(sz/2-sz/14,sz-sz/7,sz/7+1,sz/7); } return new ImageIcon(image); } }
MCTIcons { public static ImageIcon generateIcon(int hash, int sz, Color color) { BufferedImage image = new BufferedImage(sz,sz,BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setColor(color); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int w = hash & 3; hash>>>=1; if (w > 0) { w+=1; w*= (sz/14); g.fillRect(1,1,w,w); g.fillRect(sz-w,sz-w,w,w); g.fillRect(sz-w,1,w,w); g.fillRect(1,sz-w,w,w); } for (int radius = 1; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { if (radius < 3) { g.fillOval(sz/2-1, sz/2-1, 3, 3); } else { g.drawOval(sz/2-radius, sz/2-radius, radius*2, radius*2); } } } for (int radius = 3; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { g.drawRect(sz/2-radius, sz/2-radius, radius*2, radius*2); } } if (((hash>>>=1) & 1) != 0) { g.fillOval(1,sz/2-sz/14,sz/7,sz/7+1); g.fillOval(sz-sz/7,sz/2-sz/14,sz/7,sz/7+1); } if (((hash>>>=1) & 1) != 0) { g.fillOval(sz/2-sz/14,1,sz/7+1,sz/7); g.fillOval(sz/2-sz/14,sz-sz/7,sz/7+1,sz/7); } return new ImageIcon(image); } private  MCTIcons(); }
MCTIcons { public static ImageIcon generateIcon(int hash, int sz, Color color) { BufferedImage image = new BufferedImage(sz,sz,BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setColor(color); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int w = hash & 3; hash>>>=1; if (w > 0) { w+=1; w*= (sz/14); g.fillRect(1,1,w,w); g.fillRect(sz-w,sz-w,w,w); g.fillRect(sz-w,1,w,w); g.fillRect(1,sz-w,w,w); } for (int radius = 1; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { if (radius < 3) { g.fillOval(sz/2-1, sz/2-1, 3, 3); } else { g.drawOval(sz/2-radius, sz/2-radius, radius*2, radius*2); } } } for (int radius = 3; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { g.drawRect(sz/2-radius, sz/2-radius, radius*2, radius*2); } } if (((hash>>>=1) & 1) != 0) { g.fillOval(1,sz/2-sz/14,sz/7,sz/7+1); g.fillOval(sz-sz/7,sz/2-sz/14,sz/7,sz/7+1); } if (((hash>>>=1) & 1) != 0) { g.fillOval(sz/2-sz/14,1,sz/7+1,sz/7); g.fillOval(sz/2-sz/14,sz-sz/7,sz/7+1,sz/7); } return new ImageIcon(image); } private  MCTIcons(); static ImageIcon getWarningIcon(); static ImageIcon getErrorIcon(int width, int height); static ImageIcon getComponent(); static ImageIcon generateIcon(int hash, int sz, Color color); static ImageIcon processIcon(ImageIcon icon); static ImageIcon processIcon(ImageIcon icon, float r, float g, float b, boolean dropShadow); static ImageIcon processIcon(ImageIcon icon, Color c, boolean dropShadow); static ImageIcon processIcon(ImageIcon icon, Color top, Color bottom, boolean dropShadow); }
MCTIcons { public static ImageIcon generateIcon(int hash, int sz, Color color) { BufferedImage image = new BufferedImage(sz,sz,BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g = image.createGraphics(); g.setColor(color); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int w = hash & 3; hash>>>=1; if (w > 0) { w+=1; w*= (sz/14); g.fillRect(1,1,w,w); g.fillRect(sz-w,sz-w,w,w); g.fillRect(sz-w,1,w,w); g.fillRect(1,sz-w,w,w); } for (int radius = 1; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { if (radius < 3) { g.fillOval(sz/2-1, sz/2-1, 3, 3); } else { g.drawOval(sz/2-radius, sz/2-radius, radius*2, radius*2); } } } for (int radius = 3; radius < sz/2; radius += sz/7) { if (((hash>>>=1) & 1) != 0) { g.drawRect(sz/2-radius, sz/2-radius, radius*2, radius*2); } } if (((hash>>>=1) & 1) != 0) { g.fillOval(1,sz/2-sz/14,sz/7,sz/7+1); g.fillOval(sz-sz/7,sz/2-sz/14,sz/7,sz/7+1); } if (((hash>>>=1) & 1) != 0) { g.fillOval(sz/2-sz/14,1,sz/7+1,sz/7); g.fillOval(sz/2-sz/14,sz-sz/7,sz/7+1,sz/7); } return new ImageIcon(image); } private  MCTIcons(); static ImageIcon getWarningIcon(); static ImageIcon getErrorIcon(int width, int height); static ImageIcon getComponent(); static ImageIcon generateIcon(int hash, int sz, Color color); static ImageIcon processIcon(ImageIcon icon); static ImageIcon processIcon(ImageIcon icon, float r, float g, float b, boolean dropShadow); static ImageIcon processIcon(ImageIcon icon, Color c, boolean dropShadow); static ImageIcon processIcon(ImageIcon icon, Color top, Color bottom, boolean dropShadow);  }