2010.01.12 19:42
소스 코드 (AS 3.0)





클래스  설명

요번에 만들어본 클래스는 색상값을 변환시켜주는 놈입니다.

HSV<->RGB
HSL<->RGB

What is RGB & HVS & HLS?



간의 변환이 가능하고, 16진수를 쪼개주는 놈도 있긴 합니다.

HSV<->HSL 를 만들지 않았는데, 이건 RGB 변환 매서드를 2번 이용해서 구해주세요.....;;(솔직히 귀차니즘;;)

static로 선언해서 생성없이 사용할 수 있습니다.

컨버젼 속도는 테스트 해보지 않아서 잘 모르겠군요,,;;

일단 만든 이유는, RGB만을 이용해서 무지개스팩트럼을 만들때보다, HSV를 이용해, H값만 가지고 노는게 훨씬! 쉽기 때문입니다.....그저 [0~360) 의 값만 넣어주면 알아서 RGB값을 주거든요,.,..그것도 무지개색으로,...ㅋ

사용 방법은 너무나 간답합니다.


import Flask.utils.ColorConversion;
// 먼저 임포트를 하고~

ColorConversion.HEXtoHSV(16진수값);
ColorConversion.HEXtoRGB(16진수값);
ColorConversion.HSLtoRGB(H[0, 360), S[0, 1], L[0, 1]);
// H 에서 360 이상인 값도 가능합니다만 되도록 [0, 360)에 맞추는게 좋을것 같습니다....;;
ColorConversion.HSVtoRGB(H[0, 360), S[0, 1], S[0, 1]);
ColorConversion.RGBtoHEX(R[0, 1], G[0, 1], B[0, 1]);
ColorConversion.RGBtoHSL(R[0, 1], G[0, 1], B[0, 1]);
ColorConversion.RGBtoHSV(R[0, 1], G[0, 1], B[0, 1]);


<예제>

trace(ColorConversion.HEXtoHSV(0xff00ff));
trace(ColorConversion.HEXtoRGB(0xff00ff));
trace(ColorConversion.HSLtoRGB(320, 0.3, 0.5));
trace(ColorConversion.HSVtoRGB(320, 1, 0.5));
trace(ColorConversion.RGBtoHEX(0.6, 0.2, 0.1));
trace(ColorConversion.RGBtoHSL(0.6, 0.2, 0.1));
trace(ColorConversion.RGBtoHSV(0.6, 0.2, 0.1));
           
output:

300,1,1
255,0,255
0x38e28d
0x7f0055
0x993319
12,0,0.7142857142857143
12,0.8333333333333334,0.6



다운로드



그래도, 만들어둔 Color2 클래스가 더 쓰기 쉽네요...ㅋ(무지개가 아닐땐)


! : HSL 에 대한 정보가 없어서, 테스트해보질 않았습니다. 버그가 있는것 같은데, HLS값에 대한 테스트를 한뒤 다시 올려야 겠습니다.
!! : 용어도 틀렸군요, HLS 가 맞는 용어였네요,, 다음 업데잇때 고쳐서 올리도록 하겠습니다.
저작자 표시 비영리 변경 금지
신고
Trackback 0 Comment 0


티스토리 툴바