如何解决新生成的图像?
我可以写图像但其默认分辨率为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)
返回具有您自己的x和y的新缩放图像。
像这样:
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()
。