#!/usr/bin/perl #======================================================================= # ____ ____ _____ _ ____ ___ ____ # | _ \| _ \| ___| _ _ / \ | _ \_ _| |___ \ # | |_) | | | | |_ (_) (_) / _ \ | |_) | | __) | # | __/| |_| | _| _ _ / ___ \| __/| | / __/ # |_| |____/|_| (_) (_) /_/ \_\_| |___| |_____| # # A Perl Module Chain to faciliate the Creation and Modification # of High-Quality "Portable Document Format (PDF)" Files. # # Copyright 1999-2004 Alfred Reibenschuh <areibens@cpan.org>. # #======================================================================= # # PERMISSION TO USE, COPY, MODIFY, AND DISTRIBUTE THIS FILE FOR # ANY PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT # THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL # COPIES. # # THIS FILE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # OF THE USE OF THIS FILE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # $Id: 030_colorspecs,v 2.0 2005/11/16 02:16:00 areibens Exp $ # #======================================================================= use PDF::API2; use PDF::API2::Util; use POSIX; use Math::Trig; my $cx=315; my $cy=400; my $cr=15; my $cs=32; my $ang=30; $pdf=PDF::API2->new; $pdf->mediabox(595,842); $fnt=$pdf->corefont('Verdana-Bold'); foreach my $z (0 .. 0xf) { $page = $pdf->page; $gfx=$page->gfx; $gfx->textlabel(300,750,$fnt,20,'RGB Colorspace',-color=>'#000',-hspace=>125,-center=>1); $gfx->strokecolor('#000'); foreach my $x (0 .. 0xf) { foreach my $y (0 .. 0xf) { my $t=sprintf('#%01X%01X%01X',$x,$z,$y); $gfx->fillcolor($t); $gfx->circle($cx+($x-8)*$cs,$cy+($y-8)*$cs,$cr); $gfx->fillstroke; $gfx->textlabel($cx+($x-8)*$cs,$cy+($y-8)*$cs,$fnt,8,$t,-color=>'#000',-rotate=>$ang,-hspace=>85,-center=>1); } } } foreach my $z (0 .. 0xf) { $page = $pdf->page; $gfx=$page->gfx; $gfx->textlabel(300,750,$fnt,20,'RGB Colorspace (Gamma=2.2)',-color=>'#000',-hspace=>125,-center=>1); $gfx->strokecolor('#000'); foreach my $x (0 .. 0xf) { foreach my $y (0 .. 0xf) { my $t=sprintf('#%01X%01X%01X',$x,$z,$y); $gfx->fillcolor($x/0xf,$z/0xf,$y/0xf); $gfx->circle($cx+($x-8)*$cs,$cy+($y-8)*$cs,$cr); $gfx->fillstroke; $gfx->textlabel($cx+($x-8)*$cs,$cy+($y-8)*$cs,$fnt,8,$t,-color=>'#000',-rotate=>$ang,-hspace=>85,-center=>1); } } } foreach my $z (0 .. 0xf) { $page = $pdf->page; $gfx=$page->gfx; $gfx->textlabel(300,750,$fnt,20,'CMYK Colorspace',-color=>'#000',-hspace=>125,-center=>1); $gfx->strokecolor('#000'); foreach my $x (0 .. 0xf) { foreach my $y (0 .. 0xf) { my $t=sprintf('%%%01X%01X%01X0',$x,$z,$y); $gfx->fillcolor($t); $gfx->circle($cx+($x-8)*$cs,$cy+($y-8)*$cs,$cr); $gfx->fillstroke; $gfx->textlabel($cx+($x-8)*$cs,$cy+($y-8)*$cs,$fnt,8,$t,-color=>'#000',-rotate=>$ang,-hspace=>85,-center=>1); } } } foreach my $z (0 .. 0xf) { $page = $pdf->page; $gfx=$page->gfx; $gfx->textlabel(300,750,$fnt,20,'Lab Colorspace',-color=>'#000',-hspace=>125,-center=>1); $gfx->strokecolor('#000'); foreach my $x (0 .. 0xf) { foreach my $y (0 .. 0xf) { my $t=sprintf('$%01X%01X%01X',$z,$x,$y); $gfx->fillcolor($t); $gfx->circle($cx+($x-8)*$cs,$cy+($y-8)*$cs,$cr); $gfx->fillstroke; $gfx->textlabel($cx+($x-8)*$cs,$cy+($y-8)*$cs,$fnt,8,$t,-color=>'#000',-rotate=>$ang,-hspace=>85,-center=>1); } } } my @cols=sort keys %PDF::API2::Util::colors; while (scalar @cols > 0) { $page = $pdf->page; $gfx=$page->gfx; $gfx->textlabel(300,750,$fnt,20,'Named Colors (RGB)',-color=>'#000',-hspace=>125,-center=>1); $gfx->strokecolor('#000'); foreach my $x (0 .. 0xf) { last if(scalar @cols == 0); foreach my $y (0 .. 0xf) { last if(scalar @cols == 0); my $t=shift @cols; $gfx->fillcolor($t); $gfx->circle($cx+($x-8)*$cs,$cy+($y-8)*$cs,$cr); $gfx->fillstroke; $gfx->textlabel($cx+($x-8)*$cs,$cy+($y-8)*$cs,$fnt,7,$t,-color=>'#000',-rotate=>$ang,-hspace=>85,-center=>1); } } } $pdf->saveas("$0.pdf"); $pdf->end(); exit; __END__