1
我想知道用什麼最快的方法來改變圖像的亮度。我已經實施了'RescaleOp'方法,但我不知道這是最快的方法還是其他方法。這裏是我的實現,我輸入的圖像,改變亮度,並返回一個Image:Java:改變圖像亮度的最快方法
public static Image setBrightness(Image i) {
BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
buff.createGraphics().drawImage(i, 0, 0, null);
RescaleOp op = new RescaleOp(brightness, offsets, null);
BufferedImage buff1 = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
buff1.createGraphics().drawImage(buff, op, 0, 0);
return Toolkit.getDefaultToolkit().createImage(buff1.getSource());
}
PS:我還需要使用BufferedImage轉換回一個形象,因爲我的電腦不喜歡渲染BufferedImages。
「......因爲我的電腦不喜歡渲染BufferedImages。」這完全沒有意義。你可以解釋嗎?? – ControlAltDel 2012-04-15 13:32:24
當我每次渲染超過50個時,它會滯後。我的情況超過2000。但我只需要知道如何以儘可能最快的方式改變圖像的亮度,以便與問題無關。 – MrDrProfessorTyler 2012-04-15 13:34:04
然後我會建議最佳解決方案是簡單地控制一次渲染的BufferedImages的數量。 – ControlAltDel 2012-04-15 13:37:35