colors.cmyk: adding support for CMYK colors.

db4
John Benediktsson 2012-10-21 12:02:30 -07:00
parent 8cf23c71ac
commit 4d75add92e
3 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1 @@
John Benediktsson

View File

@ -0,0 +1,37 @@
! Copyright (C) 2012 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
USING: accessors colors kernel math math.order ;
IN: colors.cmyk
TUPLE: cmyka
{ cyan read-only }
{ magenta read-only }
{ yellow read-only }
{ black read-only }
{ alpha read-only } ;
C: <cmyka> cmyka
M: cmyka >rgba
[ [ cyan>> ] [ black>> ] bi + ]
[ [ magenta>> ] [ black>> ] bi + ]
[ [ yellow>> ] [ black>> ] bi + ] tri
[ 1.0 min 1.0 swap - ] tri@ 1.0 <rgba> ;
: rgba>cmyka ( rgba -- cmyka )
>rgba-components [
[ 1 swap - ] tri@ 3dup min min
[ [ - 0.0 1.0 clamp ] curry tri@ ] keep
] dip <cmyka> ;
: cmyka>gray ( cmyka -- gray )
[
{
[ cyan>> 0.3 * ]
[ magenta>> 0.59 * ]
[ yellow>> 0.11 * ]
[ black>> ]
} cleave + + + 1.0 min 1.0 swap -
] [ alpha>> ] bi <gray> ;

View File

@ -0,0 +1 @@
CMYK colors