home *** CD-ROM | disk | FTP | other *** search
- %%BeginFile: pdfimg1i.prc
- %%Copyright: Copyright 1987-1993 Adobe Systems Incorporated. All Rights Reserved.
- PDF /PDFImage get begin
- Level2? not StartLoad {
- /testsystemdict {
- false exch where { systemdict eq { pop true } if } if
- } bd
- /NDColors 1 def
- ColorImage? StartLoad {
- /NDColors 0
- statusdict begin
- /processcolors where {
- pop pop processcolors
- }{
- /deviceinfo where {
- pop deviceinfo /Colors known {
- pop deviceinfo /Colors get
- } if
- } if
- } ifelse
- end
- def
- NDColors 0 ne {
- /colorimage testsystemdict
- /setcolortransfer testsystemdict and
- /currentcolortransfer testsystemdict and
- /currentcmykcolor testsystemdict and not {
- /NDColors 0 def
- } if
- } if
- NDColors dup 1 ne exch dup 3 ne exch 4 ne and and {
- /NDColors 0 def
- }if
- } EndLoad
- /BaseSpace? { ColorSpace 1 get } bd
- NDColors 0 ne StartLoad {
- /rgbtogray {
- 0.11 mul exch 0.59 mul add exch 0.3 mul add round cvi
- } bd
- /ConvRGBtoGray {
- dup length 3 idiv
- 0 1 3 -1 roll 1 sub {
- 1 index exch 2 copy 3 mul
- 2 copy get 3 1 roll
- 2 copy 1 add get 3 1 roll
- 2 add get
- rgbtogray
- put
- } for
- dup length 3 idiv 0 exch getinterval
- } bd
- /cmyktogray {
- exch 0.11 mul add exch 0.59 mul add exch 0.3 mul add round cvi
- dup 255 gt { pop 255 } if
- 255 exch sub
- } bd
- /ConvCMYKtoGray {
- dup length 4 idiv
- 0 1 3 -1 roll 1 sub {
- 1 index exch 2 copy 4 mul
- 2 copy get 3 1 roll
- 2 copy 1 add get 3 1 roll
- 2 copy 2 add get 3 1 roll
- 3 add get cmyktogray put
- } for
- dup length 4 idiv 0 exch getinterval
- } bd
- /setupgrayclut {
- /CIbit1x CIgclut length 1 sub pv
- } bd
- /1compute {
- exch 2 BitsPerComponent exp 1 sub mul round cvi
- dup CIbit1x gt { pop pop 0 } { get 255 div } ifelse
- } bd
- /DoGrayCLUT {
- ColorSpace 3 get /CIgclut exch pv setupgrayclut
- [ { CIgclut 1compute } /exec load dup currenttransfer exch ]
- cvx settransfer
- Width Height BitsPerComponent ImageMatrix ImageFilter image
- } bd
- } EndLoad
- NDColors 1 eq StartLoad {
- /Indexed [ 1
- {
- BaseSpace? /DeviceRGB eq {
- ColorSpace dup 3 get ConvRGBtoGray 3 exch put
- } {
- BaseSpace? /DeviceCMYK eq {
- ColorSpace dup 3 get ConvCMYKtoGray 3 exch put
- } if
- } ifelse
- DoGrayCLUT
- }
- ] InstallImage
- } EndLoad
- NDColors dup 3 eq exch 4 eq or StartLoad {
- /NULLPROC {} bd
- /concatutil {
- /exec load
- 7 -1 roll /exec load
- } bd
- /spconcattransfer {
- /Dclut exch pv
- /Cclut exch pv
- /Bclut exch pv
- /Aclut exch pv
- /ncompute exch load pv
- currentcolortransfer
- [ { Aclut ncompute } concatutil ] cvx
- [ { Bclut ncompute } concatutil ] cvx
- [ { Cclut ncompute } concatutil ] cvx
- [ { Dclut ncompute } concatutil ] cvx
- setcolortransfer
- } bd
- /pvsubclut {
- 1 add getinterval pv
- } bd
- } EndLoad
- NDColors 3 eq StartLoad {
- /cmyktorgb {
- dup 5 -1 roll add 255 exch sub 4 1 roll
- dup 4 -1 roll add 255 exch sub 3 1 roll
- add 255 exch sub
- 3 { dup 0 lt { pop 0 } if cvi 3 1 roll } repeat
- } bd
- /ConvCMYKtoRGB {
- dup length 4 idiv
- 0 1 3 -1 roll 1 sub {
- dup 3 mul exch 4 mul
- 2 index exch 4 getinterval { } forall
- cmyktorgb
- 5 -2 roll 2 copy 7 -1 roll put
- 2 copy 1 add 6 -1 roll put
- 2 copy 2 add 5 -1 roll put
- pop
- } bind for
- dup length 4 idiv 3 mul 0 exch getinterval
- } bd
- /setuprgbcluts {
- /CIbit3x CIrgbclut length 3 sub pv
- /CIrclut CIrgbclut pv
- /CIgclut CIrclut 1 CIbit3x pvsubclut
- /CIbclut CIrclut 2 CIbit3x pvsubclut
- } bd
- /3compute {
- exch 2 BitsPerComponent exp 3 mul 3 sub
- mul
- round
- cvi
- dup CIbit3x gt { pop pop 0 } { get 255 div } ifelse
- } bd
- /DoRGBCLUT {
- ColorSpace 3 get /CIrgbclut exch pv setuprgbcluts
- /3compute CIrclut CIgclut CIbclut dup spconcattransfer
- Width Height BitsPerComponent ImageMatrix ImageFilter
- [ exch /exec load /dup load dup ] cvx /NULLPROC load dup true 3
- colorimage
- } bd
- /Indexed [ 1
- {
- BaseSpace? /DeviceCMYK eq {
- ColorSpace dup 3 get ConvCMYKtoRGB 3 exch put
- } if
- BaseSpace? /DeviceGray eq { DoGrayCLUT }
- { DoRGBCLUT } ifelse
- } bind
- ] InstallImage
- } EndLoad
- NDColors 4 eq StartLoad
- {
- /rgbtocmyk {
- 3 { 255 div 3 1 roll } repeat
- setrgbcolor currentcmykcolor
- 4 { 1 exch sub 255 mul round cvi 4 1 roll } repeat
- } bd
- /ConvRGBtoCMYK {
- dup length 3 idiv
- dup 4 mul string 3 1 roll
- 0 1 3 -1 roll 1 sub {
- dup 4 mul 3 index length 4 sub exch sub
- 3 1 roll 3 mul
- 1 index exch 3 getinterval {} forall
- rgbtocmyk
- 7 -2 roll 2 copy 8 -1 roll put
- 2 copy 1 add 7 -1 roll put
- 2 copy 2 add 6 -1 roll put
- 2 copy 3 add 5 -1 roll put
- pop exch
- } bind for
- pop
- } bd
- /setupcmykcluts {
- /CIbit4x CIcmykclut length 4 sub pv
- /CIcclut CIcmykclut pv
- /CImclut CIcclut 1 CIbit4x pvsubclut
- /CIyclut CIcclut 2 CIbit4x pvsubclut
- /CIkclut CIcclut 3 CIbit4x pvsubclut
- } bd
- /4compute {
- exch 2 BitsPerComponent exp 4 mul 4 sub mul round cvi
- dup CIbit4x gt { pop pop 0 } { get 255 div } ifelse
- } bd
- /DoCMYKCLUT {
- ColorSpace 3 get /CIcmykclut exch pv setupcmykcluts
- /4compute CIcclut CImclut CIyclut CIkclut spconcattransfer
- Width Height BitsPerComponent ImageMatrix ImageFilter
- [ exch /exec load /dup load dup dup ] cvx
- /NULLPROC load dup dup true 4 colorimage
- } bd
- /Indexed [ 1
- {
- BaseSpace? /DeviceRGB eq {
- ColorSpace dup 3 get ConvRGBtoCMYK 3 exch put
- } if
- BaseSpace? /DeviceGray eq { DoGrayCLUT } { DoCMYKCLUT } ifelse
- } bind
- ] InstallImage
- } EndLoad
- NDColors 0 eq StartLoad {
- /CICSLookup 3 dict begin
- /DeviceGray {
- get
- put exch
- 1 add exch 3 copy
- } bd
- /DeviceRGB {
- 3 mul
- 3 getinterval
- putinterval exch
- 3 add exch 3 copy
- } bd
- /DeviceCMYK {
- 4 mul
- 4 getinterval
- putinterval exch
- 4 add exch 3 copy
- } bd
- currentdict end pv
- /CIBLookup 3 dict begin
- 8 { lookupandstore } bd
- 4 {
- /shiftbyte 1 index pv
- -4 bitshift
- lookupandstore
- shiftbyte 15 and
- lookupandstore
- } bd
- 2 {
- /shiftbyte 1 index pv
- -6 bitshift
- lookupandstore
- shiftbyte -4 bitshift
- 3 and
- lookupandstore
- shiftbyte -2 bitshift
- 3 and
- lookupandstore
- shiftbyte 3 and
- lookupandstore
- } bd
- currentdict end pv
- /colorexpand {
- BufferExp 0 CLUT
- 3 copy
- 7 -1 roll
- /BitLookup load
- forall
- pop pop pop pop pop
- } bd
- /Indexed [ 1
- {
- /CLUT ColorSpace 3 get pv
- /BitLookup CIBLookup BitsPerComponent get pv
- /lookupandstore BaseSpace? CICSLookup exch get pv
- /BufferExp CIBuffer length 8 mul BitsPerComponent idiv
- BaseSpace? ColorComps? mul string pv
- Width Height 8 ImageMatrix
- [
- ImageFilter /exec load /colorexpand load /exec load 0
- Width BaseSpace? ColorComps? mul /getinterval load /exec
- load
- ] cvx
- BaseSpace? ColorComps? ColorImage
- } bind
- ] InstallImage
- } EndLoad
- currentdict readonly pop
- } EndLoad
- end
- %%EndFile
-