아래는 입력한 #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 |