我可以写图像,但其默认分辨率为600x450。
我要指定自己的分辨率。
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();