如何解决新生成的图像?

我可以写图像但其默认分辨率为600×450。 我想指定我自己的决议。

public void save(String path, String name) throws IOException { int x ; int y; x=scaled.getHeight(); y=scaled.getWidth(); System.out.println(x); System.out.println(y); if (scaled != null) { name += scaled.getWidth() + "x" + scaled.getHeight(); ImageIO.write(scaled, "png", new File(path + File.separator + name + ".png")); } else { throw new NullPointerException("Scaled instance is null"); } } 

有什么建议么?

我认为scaled是一个场图像。 另外,我假设你没有得到NullPointerException

您可以使用scaled.getImageData().getScaled(int x, int y)返回具有您自己的xy的新缩放图像。

像这样:

 ImageData newData = scaled.getImageData().scaledTo(int x, int y); Image newScaledImage = new Image(Display.getCurrent(), newData); ImageIO.write(newScaledImage , "png", new File(path + File.separator + name + ".png")); newScaledImage.dispose(); 

使用此处显示的AffineTransformOp或此处显示的Image#getScaledInstance()