0
這是一個問題,我使用的方式是否正確。我的意思是,正確的方式是否有更高效的內存管理方式?是否乘以BufferedImage設置亮度是正確的?
我使用1個圖像源:
String imgurl = "imgreadertest8.png";
BufferedImage loadedimage = ImageIO.read(getClass().getResource(imgurl));
BufferedImage image = ImageIO.read(getClass().getResource(imgurl));
我繪製圖像中的油漆()方法。但有時我需要設置亮度:
public void setBrightness(float brightness)
{
RescaleOp rescaleOp = new RescaleOp(brightness, 15, null);
rescaleOp.filter(loadedimage, image);
}
所以我讀了兩次相同的圖像。一個有一個'final'BufferedImage(它不是最終的......但是我不能在這個上下文中使用final,因爲它需要在構造函數之外使用(在這裏你看不到,但它是)),這是用作模板,一個用於編輯和繪製。
更多信息:前嘗試這種方式,我這樣做:
String imgurl = "imgreadertest8.png";
BufferedImage loadedimage = ImageIO.read(getClass().getResource(imgurl));
BufferedImage image = loadedimage;
但是,當我編輯的圖像,它編輯loadedimage爲好。非常多,因爲它們是同一個對象。
那麼...有沒有另外一種方法來設置這個圖像的亮度,而不是兩次加載相同的圖像?