Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.postscript > #1366
| Path | csiph.com!usenet.pasdenom.info!news.albasani.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | Don Lancaster <don@tinaja.com> |
| Newsgroups | comp.lang.postscript |
| Subject | Re: merging colors.. |
| Date | Tue, 02 Apr 2013 17:03:07 -0700 |
| Lines | 355 |
| Message-ID | <as19uiFet9hU1@mid.individual.net> (permalink) |
| References | <c866t.310117$PC7.285767@newsfe03.iad> <aa53244c-2124-4b29-b5ed-192db33c4c6f@googlegroups.com> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=windows-1252; format=flowed |
| Content-Transfer-Encoding | 8bit |
| X-Trace | individual.net Usgbcx7HcouvRiCeQhLO+g4Btc+uqvvQD+DbxqErUrF/j+WyA2 |
| Cancel-Lock | sha1:wmKmFOmLeYKD3uSOoGxlFaJTF9o= |
| User-Agent | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130307 Thunderbird/17.0.4 |
| In-Reply-To | <aa53244c-2124-4b29-b5ed-192db33c4c6f@googlegroups.com> |
| Xref | csiph.com comp.lang.postscript:1366 |
Show key headers only | View raw
On 4/1/2013 2:04 AM, gernot.hoffmann@hs-emden-leer.de wrote:
> Am Montag, 1. April 2013 04:18:49 UTC+2 schrieb Robert Baer:
>> This is my first "fancy" program, three color-shaded circles.
>>
>> It would be nice to have the colors appropriately combine/add in the
>>
>> overlap regions.
>>
>> Is there a nice way to do that?
>>
>>
>>
>> %! % three.ps
>>
>> /inch {72 mul} def % 72 pixels to the inch
>>
>> /N 500 def % steps
>>
>> /red 1 def
>>
>> /green {1 3 div} def
>>
>> /blue {2 3 div} def
>>
>> /size {dup inch exch inch scale} def
>>
>> /circle
>>
>> {
>>
>> newpath
>>
>> exch % order: hue sat on top
>>
>> 0 0 moveto % (circlestack) stack pop % ? where does it go?
>>
>> 1 sethsbcolor % hue sat 1
>>
>> 0 0 1 -270 90 arc % includes a straight line to the initial
>>
>> point of the arc
>>
>> % x y r ang1 ang2 % from, to angles
>>
>> closepath % and a curved section to the end of the arc.
>>
>> pop
>>
>> } def
>>
>>
>>
>> gsave
>>
>> 267 400 translate % middle, landscape
>>
>> 1 1 N % Set up the for operator to iterate
>>
>> {
>>
>> gsave % Enclose the ‘‘circle’’ operation in a
>>
>> gsave - grestore
>>
>> % radius must shrink as sat grows for proper shading..
>>
>> dup N exch sub N div dup 3 mul size
>>
>> 1 exch sub
>>
>> red circle
>>
>> gsave fill grestore % Save the circle path for use after the
>>
>> fill.
>>
>> grestore % Get out of the coordinate system left
>>
>> by circle.
>>
>> } for % Close the procedure body and execute
>>
>> the for operator.
>>
>> grestore
>>
>>
>>
>> gsave
>>
>> 400 200 translate % middle, landscape
>>
>> 1 1 N % Set up the for operator to iterate
>>
>> {
>>
>> gsave % Enclose the ‘‘circle’’ operation in a
>>
>> gsave - grestore
>>
>> % radius must shrink as sat grows for proper shading..
>>
>> dup N exch sub N div dup 3 mul size
>>
>> 1 exch sub
>>
>> green circle
>>
>> gsave fill grestore % Save the circle path for use after the
>>
>> fill.
>>
>> grestore % Get out of the coordinate system left
>>
>> by circle.
>>
>> } for % Close the procedure body and execute
>>
>> the for operator.
>>
>> grestore
>>
>>
>>
>> gsave
>>
>> 533 400 translate % middle, landscape
>>
>> 1 1 N % Set up the for operator to iterate
>>
>> {
>>
>> gsave % Enclose the ‘‘circle’’ operation in a
>>
>> gsave - grestore
>>
>> % radius must shrink as sat grows for proper shading..
>>
>> dup N exch sub N div dup 3 mul size
>>
>> 1 exch sub
>>
>> blue circle
>>
>> gsave fill grestore % Save the circle path for use after the
>>
>> fill.
>>
>> grestore % Get out of the coordinate system left
>>
>> by circle.
>>
>> } for % Close the procedure body and execute
>>
>> the for operator.
>>
>> grestore
>>
>> gsave
>>
>> /Helvetica findfont
>>
>> 24 scalefont setfont
>>
>> 320 580 moveto
>>
>> ( Linear gradient) show
>>
>> grestore
>>
>> showpage
>
> Some examples:
>
> http://docs-hoffmann.de/ciegraph17052004.pdf
>
> %!PS-Adobe-3.0 EPSF-3.0
> %%BoundingBox: 0 0 567 567
> %%Creator: Gernot Hoffmann
> %%Title: CMY-Circles
> %%CreationDate: June 07 / 2006
>
> /mm {2.834646 mul} def
>
> /sc 80 mm def
> /x0 100 mm def
> /y0 100 mm def
>
> /BBox
> { 0 0 567 567 rectstroke
> } def
>
> % BBox
>
> /E 0.5 def
> /R 0.7 def
>
> /ac 180 def
> /am 300 def
> /ay 60 def
>
> /xc ac cos E mul def
> /yc ac sin E mul def
> /xm am cos E mul def
> /ym am sin E mul def
>
> /xy ay cos E mul def
> /yy ay sin E mul def
>
> x0 y0 translate
> sc sc scale
>
> gsave
> 1 0 0 0 setcmykcolor
> xc yc R 0 360 arc fill
>
> 0 1 0 0 setcmykcolor
> xm ym R 0 360 arc fill
>
> 0 0 1 0 setcmykcolor
> xy yy R 0 360 arc fill
>
> grestore
> gsave
> newpath xc yc R 0 360 arc clip
> newpath xm ym R 0 360 arc clip
>
> 1 1 0 0 setcmykcolor
> xc yc R 0 360 arc fill
>
> grestore
> gsave
> newpath xm ym R 0 360 arc clip
> newpath xy yy R 0 360 arc clip
>
> 0 1 1 0 setcmykcolor
> xm ym R 0 360 arc fill
>
> grestore
> gsave
> newpath xy yy R 0 360 arc clip
> newpath xc yc R 0 360 arc clip
>
> 1 0 1 0 setcmykcolor
> xy yy R 0 360 arc fill
>
> grestore
> gsave
> newpath xc yc R 0 360 arc clip
> newpath xm ym R 0 360 arc clip
> newpath xy yy R 0 360 arc clip
>
> 1 1 1 0 setcmykcolor
> xc yc R 0 360 arc fill
>
> showpage
>
> ---------------------
>
> %!PS-Adobe-3.0 EPSF-3.0
> %%BoundingBox: 0 0 567 567
> %%Creator: Gernot Hoffmann
> %%Title: RGB-Circles
> %%CreationDate: June 07 / 2006
>
> /mm {2.834646 mul} def
>
> /sc 80 mm def
> /x0 100 mm def
> /y0 100 mm def /BBox
> { 0 0 567 567 rectstroke
> } def
>
> % BBox
>
> /E 0.5 def
> /R 0.7 def
>
> /ar 0 def
> /ag 120 def
> /ab 240 def
>
> /xr ar cos E mul def
> /yr ar sin E mul def
> /xg ag cos E mul def
> /yg ag sin E mul def
>
> /xb ab cos E mul def
> /yb ab sin E mul def
>
> x0 y0 translate
> sc sc scale
>
> gsave
> 1 0 0 setrgbcolor
> xr yr R 0 360 arc fill
>
> 0 1 0 setrgbcolor
> xg yg R 0 360 arc fill
>
> 0 0 1 setrgbcolor
> xb yb R 0 360 arc fill
>
> grestore
> gsave
> newpath xr yr R 0 360 arc clip
> newpath xg yg R 0 360 arc clip
>
> 1 1 0 setrgbcolor
> xr yr R 0 360 arc fill
>
> grestore
> gsave
> newpath xg yg R 0 360 arc clip
> newpath xb yb R 0 360 arc clip
>
> 0 1 1 setrgbcolor
> xg yg R 0 360 arc fill
>
> grestore
> gsave
> newpath xb yb R 0 360 arc clip
> newpath xr yr R 0 360 arc clip
>
> 1 0 1 setrgbcolor
> xb yb R 0 360 arc fill
>
> grestore
> gsave
> newpath xr yr R 0 360 arc clip
> newpath xg yg R 0 360 arc clip
> newpath xb yb R 0 360 arc clip
>
> 1 1 1 setrgbcolor
> xr yr R 0 360 arc fill
>
> showpage
>
< http://www.tinaja.com/glib/pstrans2.pdf > , of course.
Otherwise, you have to work with the HSB color space and make sure you
do not go the wrong way around the circle.
As in < http://www.tinaja.com/glib/postproc.pdf >
--
Many thanks,
Don Lancaster voice phone: (928)428-4073
Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml email: don@tinaja.com
Please visit my GURU's LAIR web site at http://www.tinaja.com
Back to comp.lang.postscript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
merging colors.. Robert Baer <robertbaer@localnet.com> - 2013-03-31 19:19 -0800
Re: merging colors.. luser- -droog <mijoryx@yahoo.com> - 2013-03-31 23:18 -0700
Re: merging colors.. luser- -droog <mijoryx@yahoo.com> - 2013-03-31 23:24 -0700
Re: merging colors.. Robert Baer <robertbaer@localnet.com> - 2013-04-01 20:48 -0800
Re: merging colors.. luser- -droog <mijoryx@yahoo.com> - 2013-04-02 21:06 -0700
Re: merging colors.. gernot.hoffmann@hs-emden-leer.de - 2013-04-01 02:04 -0700
Re: merging colors.. Don Lancaster <don@tinaja.com> - 2013-04-02 17:03 -0700
Re: merging colors.. John Deubert <john@acumentraining.com> - 2013-04-01 07:09 -0700
Re: merging colors.. John Deubert <john@acumentraining.com> - 2013-04-01 09:27 -0700
csiph-web