From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jambunathan K Newsgroups: gmane.emacs.bugs Subject: bug#14074: 24.3.50; Convert hsv to rgb Date: Thu, 28 Mar 2013 20:26:15 +0530 Message-ID: <87txnvshdc.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1364482667 16545 80.91.229.3 (28 Mar 2013 14:57:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 28 Mar 2013 14:57:47 +0000 (UTC) To: 14074@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 28 15:58:13 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ULEHJ-00037k-C3 for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Mar 2013 15:58:09 +0100 Original-Received: from localhost ([::1]:60878 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEGv-0001Br-Bo for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Mar 2013 10:57:45 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48188) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEGn-0001Av-7T for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:57:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ULEGi-0007rW-8e for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:57:37 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:45570) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEGi-0007rS-6H for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:57:32 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1ULEJ8-00088n-Cy for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 11:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jambunathan K Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Mar 2013 15:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 14074 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.136448274331143 (code B ref -1); Thu, 28 Mar 2013 15:00:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Mar 2013 14:59:03 +0000 Original-Received: from localhost ([127.0.0.1]:49665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1ULEIA-00086G-Li for submit@debbugs.gnu.org; Thu, 28 Mar 2013 10:59:03 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:36454) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1ULEI6-00085q-Bw for submit@debbugs.gnu.org; Thu, 28 Mar 2013 10:59:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ULEFe-0007X5-2q for submit@debbugs.gnu.org; Thu, 28 Mar 2013 10:56:27 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:41048) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEFe-0007X1-09 for submit@debbugs.gnu.org; Thu, 28 Mar 2013 10:56:26 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEFc-0000KW-2h for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:56:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ULEFa-0007WU-FP for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:56:23 -0400 Original-Received: from mail-pd0-f182.google.com ([209.85.192.182]:36620) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULEFa-0007WI-9W for bug-gnu-emacs@gnu.org; Thu, 28 Mar 2013 10:56:22 -0400 Original-Received: by mail-pd0-f182.google.com with SMTP id 3so1011854pdj.27 for ; Thu, 28 Mar 2013 07:56:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:subject:date:message-id:mime-version :content-type; bh=oAoMswitAEjmTzq3J6f/Z4PLE4VEYomCgGDFoSlzgko=; b=MIJyr6d9iA7ZN6+Ln09+KMYG76Taj63dmcZsfxyvVfTRfzrVzJKEBfyMe0xSWh/81F 3JNhxi9rKDlD+UKnQzHPGEfV0Sn7QW8kOWOJ3u+tJMjqGhrCLZjXcQ5nXqnJIjb9sRI3 FP0lCVmlnJNqSjIDCnAAM+Tgb+XPSAFK81WHgV0JVYguHNYJwD+zS6dq3z1nRV1OwH24 aN9/nM47IWXvSsvXjcB1/TczOwcmZqdU4QlveDzHdpb+xEGm6tzPtVxBWGs9JGC2cn7O UWOWnbMMxw9REQieGbj7TbsTaNZPbpBS/Jty0WZWdiw6Y2n+rELjFcNj5GZOjWfzjc4u 0UnA== X-Received: by 10.66.9.7 with SMTP id v7mr13039452paa.216.1364482581329; Thu, 28 Mar 2013 07:56:21 -0700 (PDT) Original-Received: from debian-6.05 ([115.242.197.174]) by mx.google.com with ESMTPS id yp2sm15633952pab.10.2013.03.28.07.56.18 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Thu, 28 Mar 2013 07:56:20 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:72963 Archived-At: --=-=-= Content-Type: text/plain Convert hsv to rgb. Here is a little test case. (let ((color-name (format "#%06x" (random #xffffff)))) (format "color-name: %s round-tripped: %s" color-name (apply 'color-rgb-to-hex (apply 'color-hsv-to-rgb (apply 'color-rgb-to-hsv (color-name-to-rgb color-name)))))) => "color-name: #01043d round-tripped: #01033d" => "color-name: #1278e2 round-tripped: #1278e2" => "color-name: #ffb4bd round-tripped: #ffb4bd" One can use `color-hsv-to-rgb' for example in `vc-annotate-color-map'. --=-=-= Content-Type: text/x-diff Content-Disposition: inline Content-Description: color.el.diff === modified file 'lisp/ChangeLog' *** lisp/ChangeLog 2013-03-27 16:03:15 +0000 --- lisp/ChangeLog 2013-03-28 14:36:48 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2013-03-28 Jambunathan K + + * color.el (color-hsv-to-rgb): New defun. + 2013-03-27 Eli Zaretskii * facemenu.el (list-colors-callback): New defvar. === modified file 'lisp/color.el' *** lisp/color.el 2013-01-11 15:04:24 +0000 --- lisp/color.el 2013-03-28 14:40:31 +0000 *************** *** 118,123 **** --- 118,148 ---- "Return the color that is the complement of COLOR, in hexadecimal format." (apply 'color-rgb-to-hex (color-complement color))) + (defun color-hsv-to-rgb (h s v) + "Convert HSV color components to RGB. + HUE should be in radians between 0 and 2*`float-pi', inclusive. + SATURATION and VALUE should be between 0.0 and 1.0, inclusive. + Return a list (RED GREEN BLUE) where each of the components is + between 0.0 and 1.0, inclusive." + ;; Convert h from radians to degrees + (setq h (/ (* 180.0 h) float-pi)) + (when (>= h 360) (setq h 0.0)) + (if (zerop s) + (list v v v) + (let* ((h (/ h 60.0)) + (i (floor h)) + (f (- h i)) + (l (* v (- 1 s))) + (m (* v (- 1 (* s f)))) + (n (* v (- 1 (* s (- 1 f)))))) + (cond + ((= i 0) (list v n l)) + ((= i 1) (list m v l)) + ((= i 2) (list l v n)) + ((= i 3) (list l m v)) + ((= i 4) (list n l v)) + ((= i 5) (list v l m)))))) + (defun color-rgb-to-hsv (red green blue) "Convert RGB color components to HSV. RED, GREEN, and BLUE should each be numbers between 0.0 and 1.0, --=-=-= Content-Type: text/plain In GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1) of 2013-03-28 on debian-6.05 Bzr revision: 112161 eliz@gnu.org-20130327160315-f4jh29xefzj11qgu Windowing system distributor `The X.Org Foundation', version 11.0.10707000 Important settings: value of $LANG: en_IN locale-coding-system: iso-latin-1-unix default enable-multibyte-characters: t --=-=-=--