2009년 9월 18일 금요일

ColorMatrixFilter 색조, 채도 변경

ColorMatrixFilter 클래스를 이용하여 채도(Aturation)와 색조(Hue)를 바꿔보겠습니다.

(밝기 변화 없음)

 

색조(Hue)만 바꾸는 것은 여기를 참고하세요.

 

채도만 변경하는 것은 여기를 참고하세요.

 

이제 예제를 볼까요?

 

아래 플래시를 클릭하면 랜덤으로 색조와 채도가 바뀝니다.

 

 

 

 

 

 

Gray에 변화가 없다는 것은 밝기가 그대로라는 거죠.

 - 밝기

a b c 0 0 // a+b+c==1 && d+e+f==1 && g+h+i==1

d e f 0 0 // Red, Blue, Green 크기가 1이 되야 밝기가 변하지 않습니다.

g h i 0 0 // 1보다 크면 밝아지고, 작으면 어두워집니다.
0 0 0 1 0

 

 - 채도

a b c 0 0 // (a==1 || b==1 || c==1) && a+b+c==1

d e f 0 0 // (d==1 || e==1 || f==1) && d+e+f==1

g h i 0 0 // (g==1 || h==1 || i==1) && g+h+i==1
0 0 0 1 0 // 기본 채도값을 유지하려면 위 조건대로 해야 합니다.

// 1보다 커지면 채도가 올라갑니다.

// a==b && b==c 이렇게 되면 흑백이 됩니다. (밝기 변화가 없어야 하므로 각 값은 1/3)

 

결론은 직접 대입해봐야 이해할 수 있어요 -_-;

 

*참고: &&연산자: AND, ||연산자: OR

 

 

댓글 없음:

댓글 쓰기