+2011-02-01 Julien Danjou <julien@danjou.info>
+
+ * color.el (color-gradient): Add a color-gradient function.
+
2011-02-01 Lars Ingebrigtsen <larsi@gnus.org>
* shr.el (shr-render-td): Only do colours at the final rendering.
(- 1.0 (cadr color))
(- 1.0 (caddr color)))))
+(defun color-gradient (start stop step-number)
+ "Return a list with STEP-NUMBER colors from START to STOP.
+The color list builds a color gradient starting at color START to
+color STOP. It does not include the START and STOP color in the
+resulting list."
+ (loop for i from 1 to step-number
+ with red-step = (/ (- (car stop) (car start)) (1+ step-number))
+ with green-step = (/ (- (cadr stop) (cadr start)) (1+ step-number))
+ with blue-step = (/ (- (caddr stop) (caddr start)) (1+ step-number))
+ collect (list
+ (+ (car start) (* i red-step))
+ (+ (cadr start) (* i green-step))
+ (+ (caddr start) (* i blue-step)))))
+
(defun color-complement-hex (color)
"Return the color that is the complement of COLOR, in hexadecimal format."
(apply 'color-rgb->hex (color-complement color)))