%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def
/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 0 0 5 5
userdict begin
DisplayImage
0 0
5.22 5.22
12
29 29
0
0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7
E7E7E7E7E7E7E7E7E7E7E7E7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7
C6C6C6A5A5A5949494A5A5A5A5A5A5A5A5A5949494A5A5A5CECECEF7F7F7FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
F7F7F7BDBDBD8C8C8CA5A584DEDE31EFEF10EFEF10EFEF10EFEF10EFEF10BDBD9C9C9C7B8C8C8C
CECECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFE7E7E7949494A5A563E7E763FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00D6D6529C9C5AA5A5A5F7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFF7F7F7949494BDBD84EFEF10FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00EFEF10ADAD7BB5B5B5FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7F7949494BDBD84FFFF00FFFF00FFFF00FFFF00
FFFF00EFEF008C8C39737352DEDE00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF009C9C63B5B5B5
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCECECEADAD6BEFEF10FFFF00
FFFF00FFFF00FFFF00FFFF008C8C390000000000005A5A29EFEF10FFFF00FFFF00FFFF00FFFF00
FFFF00EFEF10A5A563DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7A5A59C
E7E763FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00636363000000000000393939DEDE31FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00D6D652ADADA5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFCECECEADAD8CFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00848484000000000000
525252EFEF31FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF009C9C7BE7E7E7FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFA5A5A5DEDE39FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
ADAD21000000000000636318FFFF10FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00ADAD8C
CECECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7A5A5A5EFEF10FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00BDBD081010100000008C8C18FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00E7E708949494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7A5A5A5EFEF10FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00D6D618292929101010ADAD39FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00E7E708949494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7
A5A5A5EFEF10FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00DEDE21393939101010B5B54A
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00E7E708949494FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFE7E7E7A5A5A5EFEF10FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00E7E729
424242181818D6D663FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00E7E708949494
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7A5A5A5EFEF10FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00EFEF428C8C8C6B6B6BE7E77BFFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00E7E708A5A5A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5B5B5DEDE31FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00E7E7318C8C39737352D6D618FFFF10FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00FFFF00ADAD8CCECECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D6
A5A584FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF007B7B7B000000000000525252E7E731
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00EFEF42A5A594E7E7E7FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF7F7F7A5A59CD6D652FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00737352000000
000000424231DEDE21FFFF00FFFF00FFFF00FFFF00FFFF00FFFF08BDBD5AB5B5B5FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D6A5A563EFEF10FFFF00FFFF00FFFF00FFFF00
FFFF00DEDE006B6B42636352BDBD08FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00D6D66BA5A5A5
EFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5A5A5ADAD7BFFFF00
FFFF00FFFF00FFFF00FFFF00FFFF00FFFF21EFEF31FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF008C8C8CCECECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFA5A5A59C9C63EFEF10FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF08D6D66B848484CECECEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5A5A59C9C5AC6C65AEFEF42FFFF00FFFF00FFFF00FFFF00
FFFF00FFFF00FFFF00EFEF42B5B552949494C6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6D6D6A5A5A58C8C7BADAD8C
E7E708E7E708E7E708E7E708CECE739C9C7B8C8C7BADADADE7E7E7FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFE7E7E7C6C6C6949494949494949494949494A5A5A5CECECEE7E7E7FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF