(define obamicon
(lambda (clr2)
(image-map (lambda (clr1) (image-ref clr1 (+ (color-ref clr1 'red)(color-ref clr1 'green)
(color-ref clr1 'blue))))
(cond
[(<= clr2 181) (color-set! clr2 [0 51 76])]
[(and (>= clr2 182) (<= clr2 363)) (color-set! clr2 [217 26 33])]
[(and (>= clr2 364) (<= clr2 545)) (color-set! clr2 [112 150 158])]
[(and (>= clr2 546) (<= clr2 765)) (color-set! clr2 [252 227 166])]))))
オバマキャンペーンのポスターをエミュレートするように画像を変更するプログラムを作成しています。イメージマップは、各ピクセルを取得し、それらを加算して合計を取得することを想定しています。その合計は、condステートメントでチェックされ、どの色が置き換えられるかを確認します。今のところ、私は
Exception in <=: #[color 0 0 0] is not a real number or clr1 is not bound.
何が悪いのかについて何か考えはありますか?
ありがとう!