%! % some explorations of jpeg to psl conversions % don@tinaja.com www.tinaja.com (928) 428-4073 % .psl requires repositioning of /infilenames jpeg2ps.psl %%%%%%%%%%%%%%%%%%%%%%%%%% try blustrp %%%%%%%%%%%%%% save /snap3 exch store /DeviceRGB setcolorspace % pick color model 200 250 translate % set page position 360 83 scale % magnify unit square /infilename (D:/test4.jpg) def % filename /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width 360 % JPEG width in pixels /Height 83 % JPEG height in pixels /ImageMatrix [360 0 0 -83 0 83] % see comments below /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator snap3 restore %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% save /snap2 exch store /DeviceRGB setcolorspace % pick color model 200 150 translate % set page position 360 13 scale % magnify unit square /infilename (D:/test5.jpg) def % filename /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width 360 % JPEG width in pixels /Height 13 % JPEG height in pixels /ImageMatrix [360 0 0 -13 0 13] % see comments below /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator snap2 restore 200 150 moveto 0 83 rlineto 360 0 rlineto 0 -83 rlineto closepath 2 setlinewidth stroke %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /jpegtops1{ /infilename exch store /jpegheight1 exch store /jpegwidth1 exch store save /jsnap1 exch store infilename == jpegheight1 == jpegwidth1 == /DeviceRGB setcolorspace % pick color model translate % position on page % 360 13 scale 50 5 scale /infile infilename (r) file def % establish input read file /Data1 {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width jpegwidth1 % JPEG width in pixels /Height jpegheight1 % JPEG height in pixels /ImageMatrix [jpegwidth1 % transform array 0 0 jpegheight1 neg 0 jpegheight1] /DataSource Data1 % proc to scale filtered JPEG /BitsPerComponent 8 % color resolution /Decode [ 0 1 0 1 0 1 ] % per red book 4.10 >> image % call the image operator jsnap1 restore} store % and exit %%%%%%%%%%%%%%%%%%%%%%%% demo %%%%%%%%%%%%%%%%%%%%%%%%% % 50 200 600 13 (D:/test5.jpg) jpegtops1 % convert from jpeg 0 30 moveto 100 100 lineto stroke 200 350 moveto 0 83 rlineto 360 0 rlineto 0 -83 rlineto closepath 2 setlinewidth stroke %%%%%%%%%%%% retry for damage /share { save /snap2 exch store /DeviceRGB setcolorspace % pick color model % 200 400 translate % set page position 360 13 scale % magnify unit square /infilename (D:/test5.jpg) def % filename /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width 360 % JPEG width in pixels /Height 13 % JPEG height in pixels /ImageMatrix [360 0 0 -13 0 13] % see comments below /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator snap2 restore } store gsave 20 400 translate share grestore gsave 20 300 translate share grestore showpage % show results