2013-08-07 24 views
0

我可以寫圖片,但其默認分辨率是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"); 
      } 
} 

有什麼建議嗎?

回答

0

我假設scaled是一個字段圖像。另外,我會假設你沒有得到NullPointerException

您可以使用scaled.getImageData().getScaled(int x, int y)用自己Xÿ返回一個新的縮放圖像。

像這樣:

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(); 
+0

請引用'getImageData()'和'getScaled()'的API。 – trashgod

+0

是的,我已經做到了。我已經使這件事成爲可能。這也是第一次。謝謝大家。 –