List of usage examples for java.awt Graphics2D drawImage
public abstract void drawImage(BufferedImage img, BufferedImageOp op, int x, int y);
From source file:net.technicpack.launcher.lang.ResourceLoader.java
public BufferedImage getCircleClippedImage(String imageName) { BufferedImage contentImage = getImage(imageName); // copy the picture to an image with transparency capabilities BufferedImage outputImage = new BufferedImage(contentImage.getWidth(), contentImage.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = (Graphics2D) outputImage.getGraphics(); g2.drawImage(contentImage, 0, 0, null); // Create the area around the circle to cut out Area cutOutArea = new Area(new Rectangle(0, 0, outputImage.getWidth(), outputImage.getHeight())); int diameter = (outputImage.getWidth() < outputImage.getHeight()) ? outputImage.getWidth() : outputImage.getHeight();//from w w w . j a v a 2 s .c o m cutOutArea.subtract(new Area(new Ellipse2D.Float((outputImage.getWidth() - diameter) / 2, (outputImage.getHeight() - diameter) / 2, diameter, diameter))); // Set the fill color to an opaque color g2.setColor(Color.WHITE); // Set the composite to clear pixels g2.setComposite(AlphaComposite.Clear); // Turn on antialiasing g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // Clear the cut out area g2.fill(cutOutArea); // dispose of the graphics object g2.dispose(); return outputImage; }
From source file:org.carcv.core.model.file.FileCarImage.java
/** * Reads the image in inStream into a BufferedImage. Uses {@link ImageIO}. * * @param inStream the InputStream from which to load the image * @throws IOException if an error during loading occurs *//*from w ww . j a v a2s . c o m*/ public void loadImage(InputStream inStream) throws IOException { // TODO 3 Fix loading of images /* * ImageInputStream imageStream = ImageIO.createImageInputStream(inStream); ImageReader reader = * ImageIO.getImageReaders(imageStream).next(); ImageReadParam param = reader.getDefaultReadParam(); * * reader.setInput(imageStream, true, true); * * this.image = reader.read(0, param); * * reader.dispose(); imageStream.close(); */ // temp: if (inStream == null) { throw new IOException("InputStream to load image is null"); } BufferedImage image = ImageIO.read(inStream); if (image == null) { throw new IOException("Failed to load image " + persistablePath); } BufferedImage outimage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics2D g = outimage.createGraphics(); // TODO 3 Is this needed? g.drawImage(image, 0, 0, null); g.dispose(); this.image = outimage; inStream.close(); }
From source file:com.skcraft.launcher.swing.InstanceTableModel.java
private ImageIcon buildDownloadIcon(BufferedImage instanceIcon) { try {/* w ww .j a va 2s . co m*/ BufferedImage iconBg = instanceIcon; BufferedImage iconFg = ImageIO.read(Launcher.class.getResource("download_icon_overlay.png")); BufferedImage iconCombined = new BufferedImage(iconBg.getWidth(), iconBg.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D canvas = iconCombined.createGraphics(); canvas.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); canvas.drawImage(iconBg, 0, 0, null); canvas.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f)); canvas.drawImage(iconFg, iconBg.getWidth() - iconFg.getWidth(), iconBg.getHeight() - iconFg.getHeight(), null); canvas.dispose(); return new ImageIcon(iconCombined); } catch (IOException e) { e.printStackTrace(); } return null; }
From source file:main.MapKit.java
private BufferedImage convert(BufferedImage loadImg, Color newColor) { int w = loadImg.getWidth(); int h = loadImg.getHeight(); BufferedImage imgOut = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); BufferedImage imgColor = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); Graphics2D g = imgColor.createGraphics(); g.setColor(newColor);/*from w w w . ja v a 2 s .co m*/ g.fillRect(0, 0, w + 1, h + 1); g.dispose(); Graphics2D graphics = imgOut.createGraphics(); graphics.drawImage(loadImg, 0, 0, null); graphics.setComposite(MultiplyComposite.Default); graphics.drawImage(imgColor, 0, 0, null); graphics.dispose(); return imgOut; }
From source file:ScreenCapture.java
public boolean crop() { if (startPoint.equals(endPoint)) return true; boolean succeeded = true; int x1 = (startPoint.x < endPoint.x) ? startPoint.x : endPoint.x; int y1 = (startPoint.y < endPoint.y) ? startPoint.y : endPoint.y; int x2 = (startPoint.x > endPoint.x) ? startPoint.x : endPoint.x; int y2 = (startPoint.y > endPoint.y) ? startPoint.y : endPoint.y; int width = (x2 - x1) + 1; int height = (y2 - y1) + 1; BufferedImage biCrop = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = biCrop.createGraphics(); BufferedImage bi = (BufferedImage) image; BufferedImage bi2 = bi.getSubimage(x1, y1, width, height); g2d.drawImage(bi2, null, 0, 0); g2d.dispose();//w w w. ja v a 2s . c o m if (succeeded) setImage(biCrop); else { startPoint.x = endPoint.x; startPoint.y = endPoint.y; repaint(); } return succeeded; }
From source file:net.sradonia.gui.SplashScreen.java
/** * Creates a new splash screen./*from w w w. j a v a 2s .co m*/ * * @param image * the image to display * @param title * the title of the window */ public SplashScreen(Image image, String title) { log.debug("initializing splash screen"); if (image == null) throw new IllegalArgumentException("null image"); // create the frame window = new JFrame(title) { private static final long serialVersionUID = 2193620921531262633L; @Override public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.drawImage(splash, 0, 0, this); } }; window.setUndecorated(true); // wait for the image to load MediaTracker mt = new MediaTracker(window); mt.addImage(image, 0); try { mt.waitForID(0); } catch (InterruptedException e1) { log.debug("interrupted while waiting for image loading"); } // check for loading errors if (mt.isErrorID(0)) throw new IllegalArgumentException("couldn't load the image"); if (image.getHeight(null) <= 0 || image.getWidth(null) <= 0) throw new IllegalArgumentException("illegal image size"); setImage(image); window.addWindowFocusListener(new WindowFocusListener() { public void windowGainedFocus(WindowEvent e) { updateSplash(); } public void windowLostFocus(WindowEvent e) { } }); timer = new SimpleTimer(new Runnable() { public void run() { log.debug(timer.getDelay() + "ms timeout reached"); timer.setRunning(false); setVisible(false); } }, 5000, false); timeoutActive = false; }
From source file:TexturedPanel.java
/** * Creates a new TexturePaint using the provided image. *//* www . j a v a 2 s.c o m*/ private void setupImagePainter(Image texture) { if (texture == null) { ourPainter = null; return; } int w = texture.getWidth(this); int h = texture.getHeight(this); if (w <= 0 || h <= 0) { ourPainter = null; return; } BufferedImage buff = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB_PRE); Graphics2D g2 = buff.createGraphics(); g2.drawImage(texture, 0, 0, this); ourPainter = new TexturePaint(buff, new Rectangle(0, 0, w, h)); g2.dispose(); }
From source file:de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.PDFBoxThumbnailer.java
private BufferedImage convertToImage(final PDPage page, final int imageType, final int thumbWidth, final int thumbHeight)/* */ throws IOException /* */ {//from www . j a v a2s .co m /* 707 */ final PDRectangle mBox = page.findMediaBox(); /* 708 */ final float widthPt = mBox.getWidth(); /* 709 */ final float heightPt = mBox.getHeight(); /* 711 */ final int widthPx = thumbWidth; // Math.round(widthPt * scaling); /* 712 */ final int heightPx = thumbHeight; // Math.round(heightPt * scaling); /* 710 */ final double scaling = Math.min((double) thumbWidth / widthPt, (double) thumbHeight / heightPt); // resolution / 72.0F; /* */ /* 714 */ final Dimension pageDimension = new Dimension((int) widthPt, (int) heightPt); /* */ /* 716 */ final BufferedImage retval = new BufferedImage(widthPx, heightPx, imageType); /* 717 */ final Graphics2D graphics = (Graphics2D) retval.getGraphics(); /* 718 */ graphics.setBackground(PDFBoxThumbnailer.TRANSPARENT_WHITE); /* 719 */ graphics.clearRect(0, 0, retval.getWidth(), retval.getHeight()); /* 720 */ graphics.scale(scaling, scaling); /* 721 */ final PageDrawer drawer = new PageDrawer(); /* 722 */ drawer.drawPage(graphics, page, pageDimension); /* */ try /* */ { /* 728 */ final int rotation = page.findRotation(); /* 729 */ if (rotation == 90 || rotation == 270) /* */ { /* 731 */ final int w = retval.getWidth(); /* 732 */ final int h = retval.getHeight(); /* 733 */ final BufferedImage rotatedImg = new BufferedImage(w, h, retval.getType()); /* 734 */ final Graphics2D g = rotatedImg.createGraphics(); /* 735 */ g.rotate(Math.toRadians(rotation), w / 2, h / 2); /* 736 */ g.drawImage(retval, null, 0, 0); /* */ } /* */ } /* */ catch (final ImagingOpException e) /* */ { /* 741 */ //log.warn("Unable to rotate page image", e); /* */ } /* */ /* 744 */ return retval; /* */ }
From source file:br.prof.salesfilho.oci.image.ImageProcessor.java
public BufferedImage resize(int newWidth, int newHeigth) { Image tmp = image.getScaledInstance(newWidth, newHeigth, Image.SCALE_SMOOTH); BufferedImage dimg = new BufferedImage(newWidth, newHeigth, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = dimg.createGraphics(); g2d.drawImage(tmp, 0, 0, null); g2d.dispose();/*from w ww. j a v a 2s . c o m*/ this.image = dimg; return this.image; }
From source file:nz.co.fortytwo.freeboard.server.util.ChartProcessor.java
/** * Use Imagemajick convert to make white transparent, so we can overlay charts * @param dir//from w w w .ja v a 2 s . c o m * @throws IOException * @throws InterruptedException */ private void processPng(File dir) throws IOException, InterruptedException { // File tmpPng = new File(dir.getAbsoluteFile()+".new"); if (manager) { System.out.print(" Convert " + dir.getName() + "\n"); } if (logger.isDebugEnabled()) logger.debug(" Convert " + dir.getName()); BufferedImage img = ImageIO.read(dir); ImageProducer ip = new FilteredImageSource(img.getSource(), filter); Image transparentImage = Toolkit.getDefaultToolkit().createImage(ip); BufferedImage dest = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = dest.createGraphics(); g2.drawImage(transparentImage, 0, 0, null); g2.dispose(); ImageIO.write(dest, "PNG", dir); }