본문으로 바로가기

파스텔 컬러 변환

category Tcl & Tk/팁 (Tip) 2025. 7. 18. 10:34

아래는 입력한 #RRGGBB 컬러를 파스텔 컬러로 변환하는 코드입니다.

proc pastelize {hex {ratio 0.2}} {
    if {[string index $hex 0] == "#"} {
        set hex [string range $hex 1 end]
    }

    if {[string length $hex] != 6} {
        error "The hex value must be 6 digits (#rrggbb)."
    }

    set r [expr 0x[string range $hex 0 1]]
    set g [expr 0x[string range $hex 2 3]]
    set b [expr 0x[string range $hex 4 5]]

    set r [expr {int($r * (1-$ratio) + 255 * $ratio)}]
    set g [expr {int($g * (1-$ratio) + 255 * $ratio)}]
    set b [expr {int($b * (1-$ratio) + 255 * $ratio)}]

    set hex [format "#%02X%02X%02X" $r $g $b]
    return $hex
}

'Tcl & Tk > 팁 (Tip)' 카테고리의 다른 글

NORMDIST, TRUNC, ROUND 함수 구현  (0) 2025.03.26
BLT의 barchart에 원 그리기  (0) 2025.03.26
gets vs read 대용량 파일 테스트  (0) 2025.03.26
반복문 별 소요 시간 테스트  (0) 2025.03.26
그라디언트 구현하기  (0) 2025.03.26