;;; File: ;;; chrome.scm ;;; Author: ;;; Samuel A. Rebelsky ;;; Summary: ;;; An attempt to get a "chrome" effect on an image. ;;; Citation: ;;; Based on chrome.java by Seth Holiday. Rewritten in Scheme and ;;; generalized by SamR (define rgb-increase-contrast (lambda (color) (rgb-map color (lambda (comp) (- (* 1.5 comp) 64))))) (define rgb-decrease-contrast (lambda (color) (rgb-map color (lambda (comp) (+ (* .5 comp) 64))))) (define rgb-plazma (lambda (color) (let ((red (rgb-red color)) (green (rgb-green color)) (blue (rgb-blue color))) (rgb-new (+ red (if (< red 128) -30 30)) (+ green (if (< green 128) -20 40)) (+ blue (if (< blue 128) -40 20)))))) (define rgb-simple-grey (lambda (color) (let ((comp (/ (+ (rgb-red color) (rgb-green color) (rgb-blue color)) 3))) (rgb-new comp comp comp)))) (define chrome1 (o rgb-increase-contrast rgb-decrease-contrast rgb-increase-contrast rgb-increase-contrast rgb-increase-contrast rgb-simple-grey rgb-increase-contrast rgb-increase-contrast rgb-plazma rgb-plazma rgb-plazma rgb-plazma)) (define chrome2 (o rgb-increase-contrast rgb-decrease-contrast rgb-increase-contrast rgb-increase-contrast rgb-increase-contrast rgb-increase-contrast rgb-increase-contrast rgb-plazma rgb-plazma rgb-plazma rgb-plazma))