如何将BufferedImage缩小到特定数量的像素



我有一个1000px X 1000px的图像,我如何将其缩小到250x250像素,并从中获得可用的rgb颜色值阵列

我试着使用Java的Graphics2D,但事实证明这并不能减少的像素数量

BufferedImage result = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
Graphics2D gra = result.createGraphics();
gra.drawImage(ImageIO.read(new File("")), 0, 0, 128, 128, null);
gra.dispose();
System.out.println(ImageIO.write(result, "png", new File("")));

您发布的代码是有效的,您只需要正确地指定文件名。我把它指向一个3024x3024的图像,它被保存为128x128的图像。

BufferedImage result = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
Graphics2D gra = result.createGraphics();
gra.drawImage(ImageIO.read(new File("/tmp/3024x3024.jpeg")), 0, 0, 128, 128, null);
gra.dispose();
System.out.println(ImageIO.write(result, "png", new File("/tmp/128x128.png")));

最新更新