我可以写图像,但其默认分辨率为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();

08-25 14:29