2012-03-08 2 views
3

는 나는이 같은 투명한 픽셀을 가지고 BufferedImage를 만들 경우 문제가있을 것 같다 :자바 버퍼 이미지 RescaleOp의 투명성 문제

BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB); 

을하고 나는 그것을 어둡게 RescaleOp의를 통해 필터링 할 때까지 잘 작동합니다. 이렇게하면 이미지가 사라집니다.

BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB); 
    Graphics2D g = buff.createGraphics(); 
    g.drawImage(i, 0, 0, null); 
    g.dispose(); 
    RescaleOp filter = new RescaleOp(lightlevel, 0f, null); 
    buff = filter.filter(buff, null); 

내 질문은, 어떻게이 그렇게 버퍼 이미지의 픽셀 투명도에 영향을주지 않고 어두워 진 것입니다 해결합니까 : 여기 내 전체 코드는 내가 이것을 설정하고 방법을 볼 수있는 단지 있도록입니까?

답변

2

당신은 알파을 처리하는 RescaleOphere을 설명하려고, 모든 컬러 구성 요소에 대해 동일한 lightLevel를 사용할 수 있습니다.

+0

오프셋이 없으면 거기에 똑같은 점이 있습니까? – MrDrProfessorTyler

+0

잠깐만 기다려 봐 어떻게 작동하는지 알 겠어. 감사! – MrDrProfessorTyler

+0

당신을 진심으로 환영합니다; 만족 스럽다면 [빈 체크 표시] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)를 클릭하여이 대답을 수락 할 수 있습니다.) 왼쪽에. – trashgod