2012-04-15 5 views
1

나는 이미지의 밝기를 바꾸는 가장 빠른 방법을 궁금해했다. 나는 'RescaleOp'메소드를 구현했지만 이것이 가장 빠른 방법인지 또는 다른 것이 있는지는 알지 못합니다.자바 : 이미지의 밝기를 바꾸는 가장 빠른 방법

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

그렇다면 최적의 솔루션은 한 번에 렌더링 할 BufferedImages의 수를 단순히 제어하는 ​​것입니다. – ControlAltDel

답변

관련 문제