/usr/local/perl/lib/site_perl/5.8.5/PDF/API2/Resource/ColorSpace/Indexed.pm |
$Log: Indexed.pm,v $ Revision 2.0 2005/11/16 02:18:14 areibens revision workaround for SF cvs import not to screw up CPAN
Revision 1.2 2005/11/16 01:27:50 areibens genesis2
Revision 1.1 2005/11/16 01:19:27 areibens genesis
Revision 1.10 2005/06/17 19:44:03 fredo fixed CPAN modulefile versioning (again)
Revision 1.9 2005/06/17 18:53:34 fredo fixed CPAN modulefile versioning (dislikes cvs)
Revision 1.8 2005/03/14 22:01:27 fredo upd 2005
Revision 1.7 2004/12/16 00:30:53 fredo added no warn for recursion
Revision 1.6 2004/07/15 14:13:46 fredo added type accessor
Revision 1.5 2004/06/15 09:14:52 fredo removed cr+lf
Revision 1.4 2004/06/07 19:44:43 fredo cleaned out cr+lf for lf
Revision 1.3 2003/12/08 13:06:01 Administrator corrected to proper licencing statement
Revision 1.2 2003/11/30 17:32:48 Administrator merged into default
Revision 1.1.1.1.2.2 2003/11/30 16:57:02 Administrator merged into default
Revision 1.1.1.1.2.1 2003/11/30 14:29:03 Administrator added CVS id/log
=cut
} elsif($opts{-type} eq 'Indexed') {
$opts{-base}||='DeviceRGB'; $opts{-whitepoint}||=[ 0.95049, 1, 1.08897 ]; $opts{-blackpoint}||=[ 0, 0, 0 ]; $opts{-gamma}||=[ 2.22218, 2.22218, 2.22218 ];
# my $csd=PDFDict(); # $csd->{WhitePoint}=PDFArray(map {PDFNum($_)} @{$opts{-whitepoint}}); # $csd->{BlackPoint}=PDFArray(map {PDFNum($_)} @{$opts{-blackpoint}}); # $csd->{Gamma}=PDFArray(map {PDFNum($_)} @{$opts{-gamma}});
my $csd=PDFDict(); $pdf->new_obj($csd); $csd->{Filter}=PDFArray(PDFName('FlateDecode')); $self->{' index'}=[];
if(defined $opts{-actfile}) { } elsif(defined $opts{-acofile}) { } elsif(defined $opts{-colors}) { $opts{-maxindex}||=scalar(@{$opts{-colors}})-1;
foreach my $col (@{$opts{-colors}}) { map { $csd->{' stream'}.=pack('C',$_); } @{$col}; }
foreach my $col (0..$opts{-maxindex}) {
if($opts{-base}=~/RGB/i)
{
my $r=(shift(@{$opts{-colors}})||0)/255;
my $g=(shift(@{$opts{-colors}})||0)/255;
my $b=(shift(@{$opts{-colors}})||0)/255;
push(@{$self->{' index'}},[$r,$g,$b]);
} elsif($opts{-base}=~/CMYK/i)
{
my $c=(shift(@{$opts{-colors}})||0)/255;
my $m=(shift(@{$opts{-colors}})||0)/255;
my $y=(shift(@{$opts{-colors}})||0)/255;
my $k=(shift(@{$opts{-colors}})||0)/255;
push(@{$self->{' index'}},[$c,$m,$y,$k]);
}
}
} else {
die ``unspecified color index table.'';
}
$self->add_elements(PDFName('Indexed'),PDFName($opts{-base}),PDFNum($opts{-maxindex}),$csd);
$self->{' type'}='index-'.( $opts{-base}=~/RGB/i ? 'rgb' : $opts{-base}=~/CMYK/i ? 'cmyk' : 'unknown' );
/usr/local/perl/lib/site_perl/5.8.5/PDF/API2/Resource/ColorSpace/Indexed.pm |