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中。

  • DevEco Studio怎么设置在新窗口中打开项目
  • python怎么将字典保存到文件中
  • python怎么运行
  • 数据传输方式分为哪几种
  • VS如何打开本地文件夹
  • 热门搜索
    国家公祭日手抄报 感恩老师手抄报句子 小学生禁毒手抄报 国庆手抄报简单 关于国庆节手抄报 文学手抄报内容 教师手抄报 关爱残疾人手抄报 英语国庆手抄报 感谢老师的手抄报