List of usage examples for java.awt Graphics2D drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer);
From source file:Main.java
public static void main(String[] args) throws Exception { BufferedImage bi = new BufferedImage(100, 100, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g2d = bi.createGraphics(); g2d.setColor(Color.WHITE);//from ww w . j av a 2 s. co m g2d.fillRect(0, 0, 100, 100); g2d.setColor(new Color(255, 123, 0)); g2d.drawLine(100, 100, 1, 1); g2d.dispose(); BufferedImage scaledImage = new BufferedImage(1000, 1000, BufferedImage.TYPE_USHORT_GRAY); Graphics2D graphics2D = scaledImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(bi, 0, 0, 1000, 1000, null); graphics2D.dispose(); ImageIO.write(scaledImage, "png", new File("c:/Java_Dev/Test.png")); bi.flush(); }
From source file:Main.java
public static void main(String[] args) throws Exception { ImageIcon ii = new ImageIcon("C:/Java_Dev/test.jpg"); BufferedImage bi = new BufferedImage(50, 50, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = (Graphics2D) bi.createGraphics(); g2d.addRenderingHints(/*from ww w. jav a 2 s . co m*/ new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY)); boolean b = g2d.drawImage(ii.getImage(), 0, 0, 50, 50, null); System.out.println(b); ImageIO.write(bi, "jpg", new File("C:/Java_Dev/test.jpg")); }
From source file:Main.java
public static BufferedImage resize(int targetWidth, int targetHeight, BufferedImage src) { double scaleW = (double) targetWidth / (double) src.getWidth(); double scaleH = (double) targetHeight / (double) src.getHeight(); double scale = scaleW < scaleH ? scaleW : scaleH; BufferedImage result = new BufferedImage((int) (src.getWidth() * scale), (int) (src.getHeight() * scale), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = result.createGraphics(); g2d.drawImage(src, 0, 0, result.getWidth(), result.getHeight(), null); g2d.dispose();//w w w.j a v a2 s. c o m return result; }
From source file:Main.java
private static BufferedImage resizeImage(BufferedImage originalImage, int type) { int IMG_WIDTH = 512; int IMG_CLAHEIGHT = 512; BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_CLAHEIGHT, type); Graphics2D g = resizedImage.createGraphics(); g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_CLAHEIGHT, null); g.dispose();//from w w w. j a v a 2 s.c o m return resizedImage; }
From source file:Main.java
private static BufferedImage resizeImageWithHint(BufferedImage originalImage, int type) { int IMG_WIDTH = 512; int IMG_CLAHEIGHT = 512; BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_CLAHEIGHT, type); Graphics2D g = resizedImage.createGraphics(); g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_CLAHEIGHT, null); g.dispose();/* ww w . j a va 2s . co m*/ 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); return resizedImage; }
From source file:Main.java
/** * Resize image to specified dimensions//from ww w .j a v a2s. c om * @param image image to resize * @param width new image width * @param height new image height * @return resized image */ public static BufferedImage resizeImage(BufferedImage image, int width, int height) { BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = resizedImage.createGraphics(); g.drawImage(image, 0, 0, width, height, null); g.dispose(); return resizedImage; }
From source file:Main.java
public static Image resize(Image i, int scale) { BufferedImage resizedImage = new BufferedImage(scale, scale, BufferedImage.TYPE_INT_ARGB); Graphics2D g = resizedImage.createGraphics(); g.drawImage(i, 0, 0, scale, scale, null); g.dispose();//from w w w.j a va 2s . co m 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); return resizedImage; }
From source file:DBMS.UpdateFileUpload.java
private static BufferedImage resizeImage(BufferedImage originalImage, int type) { BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type); Graphics2D g = resizedImage.createGraphics(); g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null); g.dispose();//from w ww . ja v a2 s. co m return resizedImage; }
From source file:GraphicsUtil.java
public static void drawImage(Graphics g, BufferedImage img, ImageObserver observer) { Graphics2D g2 = (Graphics2D) g; g2.drawImage(img, 0, 0, img.getWidth(), img.getHeight(), observer); }
From source file:Main.java
public static BufferedImage getScaledInstance(BufferedImage img, int targetWidth, int targetHeight, Object hint, boolean higherQuality) { int type = (img.getTransparency() == Transparency.OPAQUE) ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB; BufferedImage ret = img;//w ww . ja va 2 s. c o m int w, h; if (higherQuality) { // Use multi-step technique: start with original size, then // scale down in multiple passes with drawImage() // until the target size is reached w = img.getWidth(); h = img.getHeight(); } else { // Use one-step technique: scale directly from original // size to target size with a single drawImage() call w = targetWidth; h = targetHeight; } do { if (higherQuality && w > targetWidth) { w /= 2; if (w < targetWidth) { w = targetWidth; } } if (higherQuality && h > targetHeight) { h /= 2; if (h < targetHeight) { h = targetHeight; } } BufferedImage tmp = new BufferedImage(w, h, type); Graphics2D g2 = tmp.createGraphics(); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, hint); g2.drawImage(ret, 0, 0, w, h, null); g2.dispose(); ret = tmp; } while (w != targetWidth || h != targetHeight); return ret; }