2012-04-15 46 views
1

画像の明るさを変える最も速い方法は何ですか?私は 'RescaleOp'メソッドを実装しましたが、これが最速のメソッドか他のものがあるかわかりません。ここで私は、入力画像は、明るさを変更し、画像を返す私の実装です: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のレンダリング好きではないので、背面の画像にBufferedImageを変換する必要があります。私が読んだ

+2

であると信じて私をリードして「私のコンピュータは、BufferedImageのレンダリング好きではないので...。」これはまったく意味がありません。説明できますか?? – ControlAltDel

+0

私は一度に50以上をレンダリングするときはひどく遅れます。私は私の場合2000年以上をレンダリングしています。しかし、私は、可能な限り速い方法で画像の明るさを変更する方法を知る必要があるため、質問にはあまり関係しません。 – MrDrProfessorTyler

+1

次に、一度にレンダリングするBufferedImageの数を制御するのが最適な解決策であることをお勧めします。 – ControlAltDel

答えて

2

すべてがRescaleOpが最高、最速のオプション

+0

申し分なく良いですね。助けてくれてありがとう – MrDrProfessorTyler

関連する問題