diff options
author | Jeff Muizelaar <jeff@infidigm.net> | 2007-05-25 14:59:39 -0400 |
---|---|---|
committer | Jeff Muizelaar <jeff@infidigm.net> | 2007-05-25 14:59:39 -0400 |
commit | adebb20e932dde3931900bbe3c05ad99ff921e5c (patch) | |
tree | cc0144ca06882465e437519b0b09c6ecc4440527 | |
parent | 79535867d1195e32d0dc0149b5a55357b07ee906 (diff) |
Test inverted masks by using a different decode array.
-rwxr-xr-x | test-gen/mask.pl | 25 | ||||
-rw-r--r-- | tests/mask.pdf | 45 | ||||
-rw-r--r-- | tests/mask.pdf-0-cairo-ref.png | bin | 3666 -> 4676 bytes |
3 files changed, 61 insertions, 9 deletions
diff --git a/test-gen/mask.pl b/test-gen/mask.pl index 2a4939a..4a1645f 100755 --- a/test-gen/mask.pl +++ b/test-gen/mask.pl @@ -29,10 +29,35 @@ $pdf->new_obj($xo); $root->{'Resources'}->{'XObject'}=PDFDict(); $root->{'Resources'}->{'XObject'}->{$key}=$xo; +my $key2='IMG2'; +my $xo2=PDFDict(); +$xo2->{'ImageMask'}=PDFBool('true'); +$xo2->{'Type'}=PDFName('XObject'); +$xo2->{'Subtype'}=PDFName('Image'); +$xo2->{'Name'}=PDFName($key); +$xo2->{'Width'}=PDFNum($w); +$xo2->{'Height'}=PDFNum($h); +$xo2->{'Decode'}=PDFArray(PDFNum(1)); +$xo2->{'Filter'}=PDFArray(PDFName('FlateDecode')); +$xo2->{'BitsPerComponent'}=PDFNum($bpc); +$xo2->{'ColorSpace'}=PDFName($cs); +$xo2->{' stream'}=$img; +$pdf->new_obj($xo); +$root->{'Resources'}->{'XObject'}=PDFDict(); +$root->{'Resources'}->{'XObject'}->{$key}=$xo; +$root->{'Resources'}->{'XObject'}->{$key2}=$xo2; + + $page->add("q\n"); #saveState $page->add("0 0 1 rg\n"); $page->add(sprintf("%0.3f %0.3f %0.3f %0.3f %0.3f %0.3f cm\n", $w,0,0,$h,100,500)); $page->add("/$key Do\n"); +$page->add("Q\n"); #restoreState +$page->add("q\n"); #saveState +$page->add("0 0 1 rg\n"); +$page->add(sprintf("%0.3f %0.3f %0.3f %0.3f %0.3f %0.3f cm\n", $w,0,0,$h,100,300)); +$page->add("/$key2 Do\n"); $page->add("Q"); #restoreState + $pdf->out_file($ARGV[0]); # output the document to a file diff --git a/tests/mask.pdf b/tests/mask.pdf index 85936bc..9b1596f 100644 --- a/tests/mask.pdf +++ b/tests/mask.pdf @@ -13,6 +13,24 @@ endobj /Resources << /XObject << /IMG1 4 0 R +/IMG2 << +/Type /XObject +/Subtype /Image +/Decode [ 1 ] +/Height 128 +/Width 171 +/ColorSpace /DeviceGray +/Length 6 0 R +/Filter [ /FlateDecode ] +/ImageMask true +/BitsPerComponent 1 +/Name /IMG1 +>> +stream +x͑ gyH2HhB9P +2v;xZ_?[U*`hU @ר~U4unSԦױMM~H}JhRM ㅢc{Rr:QR˨%f/JG^Z +iSQZU::*WՄk]ЮAOt>
I7TU
%Ie~RSsDYV1ܕ8Sx&TTFRA(\AgM*}LӔo{|{_{ +endstream >> /ProcSet [ /PDF /Text ] >> @@ -34,7 +52,7 @@ endobj /Height 128 /Width 171 /ColorSpace /DeviceGray -/Length 6 0 R +/Length 7 0 R /Filter [ /FlateDecode ] /ImageMask true /BitsPerComponent 1 @@ -48,7 +66,7 @@ endstream endobj 5 0 obj << -/Length 69 +/Length 138 >> stream q @@ -56,25 +74,34 @@ q 171.000 0.000 0.000 128.000 100.000 500.000 cm /IMG1 Do Q +q +0 0 1 rg +171.000 0.000 0.000 128.000 100.000 300.000 cm +/IMG2 Do +Q endstream endobj 6 0 obj 294 endobj +7 0 obj +294 +endobj xref -0 7 +0 8 0000000000 65535 f 0000000015 00000 n 0000000064 00000 n -0000000217 00000 n -0000000284 00000 n -0000000781 00000 n -0000000899 00000 n +0000000719 00000 n +0000000786 00000 n +0000001283 00000 n +0000001471 00000 n +0000001490 00000 n trailer << /Root 1 0 R -/Size 7 +/Size 8 >> startxref -918 +1509 %%EOF diff --git a/tests/mask.pdf-0-cairo-ref.png b/tests/mask.pdf-0-cairo-ref.png Binary files differindex a881760..eb25304 100644 --- a/tests/mask.pdf-0-cairo-ref.png +++ b/tests/mask.pdf-0-cairo-ref.png |