home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1997 November / dpcb1197.iso / Business / CV5_EVAL / CANVAS5 / DATA.Z / CVRES32.dll / PS_CODE / CMYK next >
Encoding:
Text File  |  1997-04-23  |  1.9 KB  |  58 lines

  1. % dataformat imagedict doimage -
  2. % dataformat:
  3. % 0 - hex
  4. % 1 - binary
  5. /doimage
  6. {
  7.     exch
  8.     $b 1 ge $b 4 le and{{1 exch sub dummy exec } dup 3 _currenttransfer put _settransfer}if
  9.     $b 6 eq{negative {{pop 0}} {{pop 1}} ifelse _settransfer} if
  10.     dup /Width get
  11.     dup /st0 exch string def
  12.     dup /st1 exch string def
  13.     dup /st2 exch string def
  14.     dup /st3 exch string def
  15.     /st4 exch string def
  16.     begin
  17.     0 eq %hex data
  18.     {/DataSource
  19.         $b 1 eq
  20.         {{$rhs0 $rhs1 pop $rhs2 pop $rhs3 pop $rhs4 pop}}if
  21.         $b 2 eq
  22.         {{$rhs0 pop $rhs1 $rhs2 pop $rhs3 pop $rhs4 pop}}if
  23.         $b 3 eq
  24.         {{$rhs0 pop $rhs1 pop $rhs2 $rhs3 pop $rhs4 pop}}if
  25.         $b 4 eq
  26.         {{$rhs0 pop $rhs1 pop $rhs2 pop $rhs3 $rhs4 pop}}if
  27.         $b 5 ge
  28.         {{$rhs0 pop $rhs1 pop $rhs2 pop $rhs3 pop $rhs4}}if
  29.         $b 0 eq
  30.         {/MultipleDataSources true def/Decode [0 1 0 1 0 1 0 1] def level2{/DeviceCMYK setcolorspace}if [{$rhs0}{$rhs1}{$rhs2}{$rhs3 $rhs4 pop}]}
  31.         {/MultipleDataSources false def/Decode [0 1] def level2{/DeviceGray setcolorspace}if}ifelse
  32.     def}
  33.     { %binary data
  34.         /DataSource 
  35.         $b 1 eq
  36.         {{$rs0 $rs1 pop $rs2 pop $rs3 pop $rs4 pop}}if
  37.         $b 2 eq
  38.         {{$rs0 pop $rs1 $rs2 pop $rs3 pop $rs4 pop}}if
  39.         $b 3 eq
  40.         {{$rs0 pop $rs1 pop $rs2 $rs3 pop $rs4 pop}}if
  41.         $b 4 eq
  42.         {{$rs0 pop $rs1 pop $rs2 pop $rs3 $rs4 pop}}if
  43.         $b 5 ge
  44.         {{$rs0 pop $rs1 pop $rs2 pop $rs3 pop $rs4}}if
  45.         $b 0 eq
  46.         {/MultipleDataSources true def/Decode [0 1 0 1 0 1 0 1] def level2{/DeviceCMYK setcolorspace}if [{$rs0}{$rs1}{$rs2}{$rs3 $rs4 pop}]}
  47.         {/MultipleDataSources false def/Decode [0 1] def level2{/DeviceGray setcolorspace}if}ifelse
  48.     def}ifelse
  49.     currentdict end
  50.     level2{_image}
  51.     {begin
  52.         Width Height BitsPerComponent ImageMatrix
  53.         MultipleDataSources{ DataSource 0 get DataSource 1 get
  54.         DataSource 2 get DataSource 3 get}{/DataSource load}ifelse
  55.         MultipleDataSources{ MultipleDataSources 4 end DSIColorImage}{end systemdict /image get exec}ifelse
  56.     }ifelse
  57. }def
  58.