List of usage examples for java.awt Graphics2D setColor
public abstract void setColor(Color c);
From source file:Main.java
public static void smoothFillHorGradient(Graphics g, Color[] colors, int x, int y, int w, int h) { Graphics2D g2D = (Graphics2D) g; Paint savedPaint = g2D.getPaint(); int steps = colors.length; double dy = (double) h / (double) (steps - 1); int y1 = y;/*from w w w .jav a2 s .c o m*/ for (int i = 0; i < steps; i++) { int y2 = y + (int) Math.round((double) i * dy); if (i == (steps - 1)) { g2D.setPaint(null); g2D.setColor(colors[i]); g2D.fillRect(x, y1, w, y + h - y1); } else { g2D.setPaint(new GradientPaint(0, y1, colors[i], 0, y2, colors[i + 1])); g2D.fillRect(x, y1, w, y2 - y1); } y1 = y2; } g2D.setPaint(savedPaint); }
From source file:Main.java
public static BufferedImage takeScreenShot(Component component, String... watermarks) { Dimension size = component.getSize(); BufferedImage screenshot = new BufferedImage(size.width, size.height, Transparency.OPAQUE); Graphics2D g = screenshot.createGraphics(); g.setClip(0, 0, size.width - 1, size.height - 1); component.update(g);//from w w w .j a v a2 s . c om FontMetrics fm = g.getFontMetrics(); int y = fm.getDescent(); for (String watermark : watermarks) if (watermark != null) { int x = size.width - SwingUtilities.computeStringWidth(fm, watermark); g.setColor(Color.black); g.drawString(watermark, x, y); g.setColor(Color.white); g.drawString(watermark, x - 1, y - 1); y -= fm.getHeight(); } g.dispose(); return screenshot; }
From source file:Main.java
public static void smoothFillInverseHorGradient(Graphics g, Color[] colors, int x, int y, int w, int h) { Graphics2D g2D = (Graphics2D) g; Paint savedPaint = g2D.getPaint(); int steps = colors.length; double dy = (double) h / (double) steps; int y1 = y;//from ww w .ja v a 2 s . co m for (int i = 0; i < steps; i++) { int y2 = y + (int) Math.round((double) i * dy); g.setColor(colors[colors.length - i - 1]); if (i == (steps - 1)) { g2D.setPaint(null); g2D.setColor(colors[colors.length - i - 1]); g.fillRect(x, y1, w, y + h - y1); } else { g2D.setPaint(new GradientPaint(0, y1, colors[colors.length - i - 1], 0, y2, colors[colors.length - i - 2])); g.fillRect(x, y1, w, y2 - y1); } y1 = y2; } g2D.setPaint(savedPaint); }
From source file:juicebox.tools.utils.juicer.apa.APAPlotter.java
/** * Draw black border around main heat map * * @param g2 graphics2D object//w w w. j av a2 s .c om * @param heatMap object */ private static void drawHeatMapBorder(Graphics2D g2, HeatChart heatMap) { // calculate corners of heat map rectangle Point heatMapTL = heatMap.getHeatMapTL(); Point heatMapBR = heatMap.getHeatMapBR(); // plot border around heat map g2.setColor(Color.BLACK); g2.drawRect(heatMapTL.x, heatMapTL.y, heatMapBR.x - heatMapTL.x, heatMapBR.y - heatMapTL.y); }
From source file:be.fedict.eid.applet.maven.DocbookMojo.java
private static void graphToFile(BasicVisualizationServer<String, String> visualization, File file) throws IOException { Dimension size = visualization.getSize(); int width = (int) (size.getWidth() + 1); int height = (int) (size.getHeight() + 1); BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D graphics = bufferedImage.createGraphics(); graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); graphics.setColor(Color.WHITE); graphics.fillRect(0, 0, 900, 650);//from ww w . ja v a 2 s . c o m visualization.setBounds(0, 0, 900, 650); visualization.paint(graphics); graphics.dispose(); ImageIO.write(bufferedImage, "png", file); }
From source file:net.semanticmetadata.lire.utils.FileUtils.java
public static void saveImageResultsToPng(String prefix, TopDocs hits, String queryImage, IndexReader ir) throws IOException { LinkedList<BufferedImage> results = new LinkedList<BufferedImage>(); int width = 0; for (int i = 0; i < Math.min(hits.scoreDocs.length, 10); i++) { // hits.score(i) // hits.doc(i).get("descriptorImageIdentifier") BufferedImage tmp = ImageIO .read(new FileInputStream(ir.document(hits.scoreDocs[i].doc).get("descriptorImageIdentifier"))); if (tmp.getHeight() > 200) { double factor = 200d / ((double) tmp.getHeight()); tmp = ImageUtils.scaleImage(tmp, (int) (tmp.getWidth() * factor), 200); }//from w w w .j a v a2 s.co m width += tmp.getWidth() + 5; results.add(tmp); } BufferedImage result = new BufferedImage(width, 220, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D) result.getGraphics(); g2.setColor(Color.black); g2.clearRect(0, 0, result.getWidth(), result.getHeight()); g2.setColor(Color.green); g2.setFont(Font.decode("\"Arial\", Font.BOLD, 12")); int offset = 0; int count = 0; for (Iterator<BufferedImage> iterator = results.iterator(); iterator.hasNext();) { BufferedImage next = iterator.next(); g2.drawImage(next, offset, 20, null); g2.drawString(hits.scoreDocs[count].score + "", offset + 5, 12); offset += next.getWidth() + 5; count++; } ImageIO.write(result, "PNG", new File(prefix + "_" + (System.currentTimeMillis() / 1000) + ".png")); }
From source file:net.semanticmetadata.lire.utils.FileUtils.java
public static void saveImageResultsToPng(String prefix, ImageSearchHits hits, String queryImage, IndexReader reader) throws IOException { LinkedList<BufferedImage> results = new LinkedList<BufferedImage>(); int width = 0; for (int i = 0; i < hits.length(); i++) { // hits.score(i) // hits.doc(i).get("descriptorImageIdentifier") BufferedImage tmp = ImageIO.read(new FileInputStream( reader.document(hits.documentID(i)).getValues(DocumentBuilder.FIELD_NAME_IDENTIFIER)[0])); // if (tmp.getHeight() > 200) { double factor = 200d / ((double) tmp.getHeight()); tmp = ImageUtils.scaleImage(tmp, (int) (tmp.getWidth() * factor), 200); // } width += tmp.getWidth() + 5;/* w ww .j a va 2s . c o m*/ results.add(tmp); } BufferedImage result = new BufferedImage(width, 220, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D) result.getGraphics(); g2.setColor(Color.white); g2.setBackground(Color.white); g2.clearRect(0, 0, result.getWidth(), result.getHeight()); g2.setColor(Color.black); g2.setFont(Font.decode("\"Arial\", Font.BOLD, 12")); int offset = 0; int count = 0; for (Iterator<BufferedImage> iterator = results.iterator(); iterator.hasNext();) { BufferedImage next = iterator.next(); g2.drawImage(next, offset, 20, null); g2.drawString(hits.score(count) + "", offset + 5, 12); offset += next.getWidth() + 5; count++; } ImageIO.write(result, "PNG", new File(prefix + "_" + (System.currentTimeMillis() / 1000) + ".png")); }
From source file:PaintUtils.java
/** Paints 3 different strokes around a shape to indicate focus. * The widest stroke is the most transparent, so this achieves a nice * "glow" effect./*ww w. j a va2 s . c o m*/ * <P>The catch is that you have to render this underneath the shape, * and the shape should be filled completely. * * @param g the graphics to paint to * @param shape the shape to outline * @param biggestStroke the widest stroke to use. */ public static void paintFocus(Graphics2D g, Shape shape, int biggestStroke) { Color focusColor = getFocusRingColor(); Color[] focusArray = new Color[] { new Color(focusColor.getRed(), focusColor.getGreen(), focusColor.getBlue(), 255), new Color(focusColor.getRed(), focusColor.getGreen(), focusColor.getBlue(), 170), new Color(focusColor.getRed(), focusColor.getGreen(), focusColor.getBlue(), 110) }; g.setStroke(new BasicStroke(biggestStroke)); g.setColor(focusArray[2]); g.draw(shape); g.setStroke(new BasicStroke(biggestStroke - 1)); g.setColor(focusArray[1]); g.draw(shape); g.setStroke(new BasicStroke(biggestStroke - 2)); g.setColor(focusArray[0]); g.draw(shape); g.setStroke(new BasicStroke(1)); }
From source file:Main.java
public static void draw(BufferedImage imageBG, BufferedImage imageFG) { Ellipse2D.Double ellipse1 = new Ellipse2D.Double(20, 20, 30, 30); Ellipse2D.Double ellipse2 = new Ellipse2D.Double(25, 25, 30, 30); Area circle = new Area(ellipse1); circle.subtract(new Area(ellipse2)); Graphics2D g = imageBG.createGraphics(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g.setClip(circle);/*from w w w . j av a2 s . c o m*/ g.drawImage(imageFG, 0, 0, null); g.setClip(null); Stroke s = new BasicStroke(2); g.setStroke(s); g.setColor(Color.BLACK); g.draw(circle); g.dispose(); JLabel l = new JLabel(new ImageIcon(imageBG)); JOptionPane.showMessageDialog(null, l); }
From source file:com.simiacryptus.util.Util.java
/** * To image buffered image.// w w w .ja v a 2s .c o m * * @param component the component * @return the buffered image */ public static BufferedImage toImage(@javax.annotation.Nonnull final Component component) { try { com.simiacryptus.util.Util.layout(component); @javax.annotation.Nonnull final BufferedImage img = new BufferedImage(component.getWidth(), component.getHeight(), BufferedImage.TYPE_INT_ARGB_PRE); final Graphics2D g = img.createGraphics(); g.setColor(component.getForeground()); g.setFont(component.getFont()); component.print(g); return img; } catch (@javax.annotation.Nonnull final Exception e) { return null; } }