List of usage examples for java.awt Graphics2D setRenderingHint
public abstract void setRenderingHint(Key hintKey, Object hintValue);
From source file:nz.govt.natlib.ndha.manualdeposit.dialogs.About.java
private void paintImage() { if (theLogo != null) { int width = this.getWidth(); int height = this.getHeight(); BufferedImage thumbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = thumbImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(theLogo, 0, 0, width, height, null); imgIndigo.setImage(thumbImage);/* w w w . j a v a2 s . c o m*/ imgIndigo.setBounds(0, 0, width, height); repaint(); } }
From source file:org.forumj.web.servlet.post.SetAvatar.java
private BufferedImage renderImage(ImageSize destSize, int imgType, Image image) { BufferedImage thumbsImage = new BufferedImage(destSize.getWidth(), destSize.getHeight(), imgType); Graphics2D graphics2D = thumbsImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); graphics2D.drawImage(image, 0, 0, destSize.getWidth(), destSize.getHeight(), null); return thumbsImage; }
From source file:SWT2D.java
private void run() { // Create top level shell final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Java 2D Example"); // GridLayout for canvas and button shell.setLayout(new GridLayout()); // Create container for AWT canvas final Composite canvasComp = new Composite(shell, SWT.EMBEDDED); // Set preferred size GridData data = new GridData(); data.widthHint = 600;// w w w . j a va 2 s.c om data.heightHint = 500; canvasComp.setLayoutData(data); // Create AWT Frame for Canvas java.awt.Frame canvasFrame = SWT_AWT.new_Frame(canvasComp); // Create Canvas and add it to the Frame final java.awt.Canvas canvas = new java.awt.Canvas(); canvasFrame.add(canvas); // Get graphical context and cast to Java2D final java.awt.Graphics2D g2d = (java.awt.Graphics2D) canvas.getGraphics(); // Enable antialiasing g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // Remember initial transform final java.awt.geom.AffineTransform origTransform = g2d.getTransform(); // Create Clear button and position it Button clearButton = new Button(shell, SWT.PUSH); clearButton.setText("Clear"); data = new GridData(); data.horizontalAlignment = GridData.CENTER; clearButton.setLayoutData(data); // Event processing for Clear button clearButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { // Delete word list and redraw canvas wordList.clear(); canvasComp.redraw(); } }); // Process canvas mouse clicks canvas.addMouseListener(new java.awt.event.MouseListener() { public void mouseClicked(java.awt.event.MouseEvent e) { } public void mouseEntered(java.awt.event.MouseEvent e) { } public void mouseExited(java.awt.event.MouseEvent e) { } public void mousePressed(java.awt.event.MouseEvent e) { // Manage pop-up editor display.syncExec(new Runnable() { public void run() { if (eShell == null) { // Create new Shell: non-modal! eShell = new Shell(shell, SWT.NO_TRIM | SWT.MODELESS); eShell.setLayout(new FillLayout()); // Text input field eText = new Text(eShell, SWT.BORDER); eText.setText("Text rotation in the SWT?"); eShell.pack(); // Set position (Display coordinates) java.awt.Rectangle bounds = canvas.getBounds(); org.eclipse.swt.graphics.Point pos = canvasComp.toDisplay(bounds.width / 2, bounds.height / 2); Point size = eShell.getSize(); eShell.setBounds(pos.x, pos.y, size.x, size.y); // Open Shell eShell.open(); } else if (!eShell.isVisible()) { // Editor versteckt, sichtbar machen eShell.setVisible(true); } else { // Editor is visible - get text String t = eText.getText(); // set editor invisible eShell.setVisible(false); // Add text to list and redraw canvas wordList.add(t); canvasComp.redraw(); } } }); } public void mouseReleased(java.awt.event.MouseEvent e) { } }); // Redraw the canvas canvasComp.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { // Pass the redraw task to AWT event queue java.awt.EventQueue.invokeLater(new Runnable() { public void run() { // Compute canvas center java.awt.Rectangle bounds = canvas.getBounds(); int originX = bounds.width / 2; int originY = bounds.height / 2; // Reset canvas g2d.setTransform(origTransform); g2d.setColor(java.awt.Color.WHITE); g2d.fillRect(0, 0, bounds.width, bounds.height); // Set font g2d.setFont(new java.awt.Font("Myriad", java.awt.Font.PLAIN, 32)); double angle = 0d; // Prepare star shape double increment = Math.toRadians(30); Iterator iter = wordList.iterator(); while (iter.hasNext()) { // Determine text colors in RGB color cycle float red = (float) (0.5 + 0.5 * Math.sin(angle)); float green = (float) (0.5 + 0.5 * Math.sin(angle + Math.toRadians(120))); float blue = (float) (0.5 + 0.5 * Math.sin(angle + Math.toRadians(240))); g2d.setColor(new java.awt.Color(red, green, blue)); // Redraw text String text = (String) iter.next(); g2d.drawString(text, originX + 50, originY); // Rotate for next text output g2d.rotate(increment, originX, originY); angle += increment; } } }); } }); // Finish shell and open it shell.pack(); shell.open(); // SWT event processing while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.evors.rs.ui.sandpit.WorldViewer.java
@Override public void draw() { Graphics2D g2 = (Graphics2D) getGraphics(); camera.setWindowSize(new Vector2D(this.getWidth(), this.getHeight())); g2.setColor(Color.WHITE);//from ww w .j av a2s.c o m g2.fillRect(0, 0, getWidth(), getHeight()); AffineTransform prevTrans = g2.getTransform(); g2.setTransform(camera.getTransform()); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); grid.draw(g2); if (world != null) { SandpitRenderer.drawWorld(g2, world); } g2.setTransform(prevTrans); }
From source file:com.qumasoft.guitools.compare.ContentRow.java
@Override public void paint(Graphics g) { if ((getRowType() == ROWTYPE_REPLACE) && rowHadAnnotations) { Graphics2D g2 = (Graphics2D) g; String s = getText();/* w w w. jav a2s . c o m*/ g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); if (s.length() > 0) { int index = 0; AttributedString attributedString = new AttributedString(s, getFont().getAttributes()); try { for (byte rType : fileACharacterTypeArray) { switch (rType) { case ContentRow.ROWTYPE_DELETE: attributedString.addAttribute(TextAttribute.STRIKETHROUGH, null, index, index + 1); break; case ContentRow.ROWTYPE_REPLACE: attributedString.addAttribute(TextAttribute.BACKGROUND, ColorManager.getReplaceCompareHiliteBackgroundColor(), index, index + 1); break; default: break; } index++; } g2.drawString(attributedString.getIterator(), 0, getFont().getSize()); } catch (java.lang.IllegalArgumentException e) { LOGGER.log(Level.WARNING, "bad replace indexes. begin index: [" + index + "] end index: [" + index + "]. String length: [" + s.length() + "]"); } } else { super.paint(g); } } else { super.paint(g); } }
From source file:savant.amino.AminoCanvas.java
@Override public void paintComponent(Graphics g) { if (GenomeUtils.getGenome().isSequenceSet()) { double aminoWidth = track.transformXPos(3) - track.transformXPos(0); if (aminoWidth > 0.5) { Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // We'll be drawing labels if a 'W' (tryptophan) will fit into the space of 3 bases. g2.setFont(g2.getFont().deriveFont(Font.PLAIN, 8)); boolean labelled = g2.getFontMetrics().charWidth('W') < aminoWidth; try { List<Record> records = track.getDataInRange(); if (records != null) { for (Record r : records) { RichIntervalRecord rr = (RichIntervalRecord) r; int recordStart = rr.getInterval().getStart(); thickStart = rr.getThickStart(); int thickEnd = rr.getThickEnd() + 1; LOG.debug(rr.getAlternateName() + ": thickStart=" + thickStart + ", thickEnd=" + thickEnd); if (thickEnd > thickStart) { sequence = GenomeUtils.getGenome().getSequence( NavigationUtils.getCurrentReferenceName(), RangeUtils.createRange(thickStart, thickEnd)); int pos = thickStart; int leftovers = -1; // Left-overs from the previous block. List<Block> blocks = rr.getBlocks(); if (blocks != null) { for (Block b : blocks) { if (pos + 3 <= thickEnd) { // Block positions are relative to the start of the record. int blockStart = b.getPosition() + recordStart; int blockEnd = b.getEnd() + recordStart; LOG.debug(rr.getAlternateName() + ": blockStart=" + blockStart + ", blockEnd=" + blockEnd); AminoAcid a; // If we have leftovers, take care of them first. switch (leftovers) { case -1: // Fresh record with no leftovers. break; case 0: // No leftovers, so we can start immediately on the new block. pos = blockStart; if (pos < thickStart) { pos = thickStart; } break; case 1: // One base from previous block, two bases from current one. LOG.debug(rr.getAlternateName() + ": handling leftover " + getBase(pos) + " at " + pos); if (rr.getStrand() == Strand.FORWARD) { a = AminoAcid.lookup(getBase(pos), getBase(blockStart), getBase(blockStart + 1)); } else { a = AminoAcid.lookup(getComplement(blockStart + 1), getComplement(blockStart), getComplement(pos)); } paintAminoAcid(g2, a, pos, 1, pos, labelled); paintAminoAcid(g2, a, blockStart, 2, blockStart - 1, labelled); pos = blockStart + 2; break; case 2: // Two bases from previous block, one base from current one. LOG.debug(rr.getAlternateName() + ": handling leftover " + getBase(pos) + "," + getBase(pos + 1) + " at " + pos + "," + (pos + 1)); if (rr.getStrand() == Strand.FORWARD) { a = AminoAcid.lookup(getBase(pos), getBase(pos + 1), getBase(blockStart)); } else { a = AminoAcid.lookup(getComplement(blockStart), getComplement(pos + 1), getComplement(pos)); } paintAminoAcid(g2, a, pos, 2, pos, labelled); paintAminoAcid(g2, a, blockStart, 1, blockStart - 2, labelled); pos = blockStart + 1; break; } // Now, handle codons which are entirely contained within the block. while (pos + 3 <= blockEnd && pos + 3 <= thickEnd) { if (rr.getStrand() == Strand.FORWARD) { a = AminoAcid.lookup(getBase(pos), getBase(pos + 1), getBase(pos + 2)); } else { a = AminoAcid.lookup(getComplement(pos + 2), getComplement(pos + 1), getComplement(pos)); } paintAminoAcid(g2, a, pos, 3, pos, labelled); pos += 3; } leftovers = (blockEnd - pos) % 3; LOG.debug(rr.getAlternateName() + ": breaking out of loop: pos=" + pos + ", blockEnd=" + blockEnd + ", leftovers=" + leftovers); }/*from w w w. j a va 2s . com*/ } } } } } } catch (Exception x) { LOG.info("Unable to retrieve sequence.", x); } } } }
From source file:ImageBouncer.java
protected void setBilinear(Graphics2D g2) { if (mBilinear == false) return;/*from ww w . j a v a 2 s . c o m*/ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); }
From source file:org.jas.util.ImageUtils.java
public Image resize(Image image, int width, int height) { BufferedImage bufferedImage = (BufferedImage) image; int type = bufferedImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : bufferedImage.getType(); BufferedImage resizedImage = new BufferedImage(width, height, type); Graphics2D g = resizedImage.createGraphics(); g.setComposite(AlphaComposite.Src); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.drawImage(image, 0, 0, width, height, null); g.dispose();//from ww w . j a va2s.co m return resizedImage; }
From source file:de.inren.service.picture.PictureModificationServiceImpl.java
private BufferedImage scaleImage(File orginal, final int max) throws IOException { // Load the image. BufferedImage originalImage = ImageIO.read(orginal); // Figure out the new dimensions. final int w = originalImage.getWidth(); final int h = originalImage.getHeight(); final double maxOriginal = Math.max(w, h); final double scaling = max / maxOriginal; final int newW = (int) Math.round(scaling * w); final int newH = (int) Math.round(scaling * h); // If we need to scale down by more than 2x, scale to double the // eventual size and then scale again. This provides much higher // quality results. if (scaling < 0.5f) { final BufferedImage newImg = new BufferedImage(newW * 2, newH * 2, BufferedImage.TYPE_INT_RGB); final Graphics2D gfx = newImg.createGraphics(); gfx.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); gfx.drawImage(originalImage, 0, 0, newW * 2, newH * 2, null); gfx.dispose();/*from ww w.ja v a 2 s.c om*/ newImg.flush(); originalImage = newImg; } // Scale it. BufferedImage newImg = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_RGB); final Graphics2D gfx = newImg.createGraphics(); gfx.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); gfx.drawImage(originalImage, 0, 0, newW, newH, null); gfx.dispose(); newImg.flush(); originalImage.flush(); return newImg; }
From source file:haven.Utils.java
static void AA(Graphics g) { java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); }