手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

java 如何设置图片大小

时间:2024-10-15 16:07:27

1、Graphics2D 提供了图片调整功能

2、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();

3、如果想调整图片的大小可以使用以下方法

4、BufferedImage resizedImage = new BufferedImage(IMG_WID皈其拄攥TH, IMG_HEIGHT, type);Graphics2D g = resizedImage.createGraphics();g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);g.dispose();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);

5、代码演示

6、package ImageIO;import java.awt.AlphaComposite;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ImageTest { private static final int IMG_WIDTH = 100; private static final int IMG_HEIGHT = 100; public static void main(String [] args){ try{ BufferedImage originalImage = ImageIO.read(new File("D:\\1.png")); int type = originalImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : originalImage.getType(); BufferedImage resizeImageJpg = resizeImage(originalImage, type); ImageIO.write(resizeImageJpg, "jpg", new File("E:\\ target.jpg")); BufferedImage resizeImagePng = resizeImage(originalImage, type); ImageIO.write(resizeImagePng, "png", new File("E:\\target.jpg")); BufferedImage resizeImageHintJpg = resizeImageWithHint(originalImage, type); ImageIO.write(resizeImageHintJpg, "jpg", new File("E:\\target.jpg")); BufferedImage resizeImageHintPng = resizeImageWithHint(originalImage, type); ImageIO.write(resizeImageHintPng, "png", new File("E:\\target.jpg")); }catch(IOException e){ System.out.println(e.getMessage()); } } 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(); return resizedImage; } private static BufferedImage resizeImageWithHint(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(); 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; } }

7、这样我们可以使用调整后的图片,把它添加到Jlabel中。

© 手抄报圈