home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / vrac / joevw122.zip / JOEVIEW.HLP (.txt) < prev    next >
OS/2 Help File  |  1994-01-18  |  87KB  |  2,205 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. General Help ΓòÉΓòÉΓòÉ
  3.  
  4. JoeView is an attempt at an image viewer for a variety of image formats. Help 
  5. is available at almost any time.  I have implemented some unusual ways of 
  6. viewing images.  It is probably worth your while to look through the section on 
  7. Viewing Strategies at this time. 
  8.  
  9.  
  10. ΓòÉΓòÉΓòÉ 2. Main Menu ΓòÉΓòÉΓòÉ
  11.  
  12. The main menu system is accessed by single clicking the right mouse button or 
  13. by using the system menu. You probably figured this out by now. 
  14.  
  15.  
  16. ΓòÉΓòÉΓòÉ 2.1. Misc. ΓòÉΓòÉΓòÉ
  17.  
  18. This menu command leads to three possible submenus. 
  19.  
  20. Quit command will close JoeView, if you couldn't figure that out, try typing 
  21. "del \*.*" sometime. 
  22.  
  23. Toggle Title Bar will turn on and off the main title bar.  Note that you can 
  24. NOT MINIMIZE JoeView when the Title Bar is off. 
  25.  
  26. Save Window Positions will store the current window locations of JoeView. This 
  27. includes the File Open Dialog and the Information Dialog. 
  28.  
  29.  
  30. ΓòÉΓòÉΓòÉ 2.2. Files ΓòÉΓòÉΓòÉ
  31.  
  32. This menu command does nothing by itself except bring up a second pull down 
  33. menu which has commands generally relating to file stuff.  Slide Show.  Open a 
  34. file. Save a file, etc.  The actual commands are: 
  35.  
  36. o Open 
  37. o Save 
  38. o SlideShow 
  39. o Print 
  40. o Iconify 
  41. o UnIconify 
  42. o Plumbing 
  43.  
  44.  
  45. ΓòÉΓòÉΓòÉ 2.2.1. Open File Dialog ΓòÉΓòÉΓòÉ
  46.  
  47. This dialog is one of the better features of JoeView and I am especially proud 
  48. of it (Send Money!).  The dialog runs independently of the main window.  You 
  49. can select a new file at any time unless JoeView prevents it, and generally you 
  50. will only be prevented from opening a file if JoeView is already trying to open 
  51. a file or you are running a SlideShow. 
  52.  
  53. Note:  The JPEG libraries use global variables that can interfere with each 
  54. other if trying to read and write JPEG style files at the same time.  If you 
  55. begin saving a file in the JPEG format and immediately try and read a JPEG 
  56. format file, JoeView will hold the read operation (and promote the priority of 
  57. the write operation) until the write is finished. This should be fairly 
  58. transparent to you. 
  59.  
  60. File Mask  In the Options Menu you can decide what you would like the default 
  61. setting for this to be.  You can change the value in this entry field at any 
  62. time but the change will stay only while the current JoeView session is active. 
  63. Typically you would just enter *.* or *.bmp here.  You can also use *.bmp;*.gif 
  64. to select multiple file extensions.  If you want you could also type in the 
  65. name of a file or the full name ala c:\file\my.bmp.  Further, you can change to 
  66. a new directory fairly quickly by using c:\files\go_here\*.* - This would 
  67. change to the approprate drive and directory and also set the File Mask to *.*. 
  68.  
  69. General Idea  Consider this info for the GUI impaired.  A file can be selected 
  70. by typing the file name into the File Mask entry field or by double clicking on 
  71. the appropriate file in the Files list box.  Directories are changed by double 
  72. clicking in the directory listbox, using the Quick Dir or by using the H Dir 
  73. (feature discussed below).  Drives are changed using the pull down listbox. The 
  74. file mask entry field is where, in addition to simply typing a file name, you 
  75. may enter wild cards, like *.gif or multiple wild cards separated by a ; or , 
  76. for example *.gi*;*.bmp;*.tga (no spaces)!  A list of only those files that 
  77. match the mask will be shown in the files list box.  Files can be shown in 
  78. either alphabetical or dated format by selecting the appropriate button. 
  79.  
  80. Confirm on delete does what it says.  If you try and delete a file , it will 
  81. prompt you first.  Turn it off and delete will just kill the file when you hit 
  82. the Delete button.  BEWARE!!! The file deleted is the file shown in the current 
  83. file area (at the upper left side of the dialog) not necessarily the file 
  84. currently being viewed.  If you only single click on a file in the files list 
  85. box it will be selected as the current file even though you are not looking at 
  86. it yet. Why does this feature exist?  Often a series of images are less than 
  87. desirable to me, so the ability to cream'em all at once is useful.  Just leave 
  88. the Confirm on Delete attribute on if your not sure, you will always be 
  89. prompted. 
  90.  
  91. Browse Mode keeps the dialog open when not in use.  This is useful if you are 
  92. going to look at a variety of files and don't want to keep opening the dialog 
  93. each time.  There is a memory penalty for doing so which is proportional to the 
  94. size of the directory being viewed.  When Browse Mode is active, hitting Cancel 
  95. has features discussed below. When Browse Mode is off hitting Cancel will close 
  96. the Open File dialog.  Most often it will be faster just to minimize the Open 
  97. File Dialog. 
  98.  
  99. Cancel  When Browse Mode is not checked this will just dismiss the Open File 
  100. Dialog.  When Browse Mode is active, Cancel will have two possible effects.  If 
  101. an image is currently being loaded, Cancel will stop the file read and load the 
  102. default JoeView image.  If an image is not being loaded, Cancel will cause the 
  103. main window to rise to the top (become active). 
  104.  
  105. H File is an historical listing of all directories you have visited in the 
  106. current JoeView session.  If you have gone to several directories and will go 
  107. back to them, use this listbox and save yourself some keystrokes (or mouse 
  108. clicks). 
  109.  
  110. Low Priority Open will cause the selected file to be read in at low priority, 
  111. giving other processes more the CPU.  This option gets applied even while a 
  112. file is currently being read.  So, you can change the priority of a file read 
  113. by toggling this switch. See the discussion about Low Priority Threads in the 
  114. table of contents. 
  115.  
  116. There are two buttons on the lower left side of the dialog box labeled N and P. 
  117. These buttons will cause the file either next or previous relative to the 
  118. currently highlighted file to be opened.  Both will cycle to either the 
  119. beginning or end of the list when going off the end.  They have accelerator 
  120. keys associated with them. 
  121.  
  122. JoeView will attempt to read files that other applications are currently 
  123. writing.  For most file types, JoeView can handle truncated images and so there 
  124. will not be a problem.  Generally speaking a certain minimum (header info) is 
  125. needed.  Usually there will not be a problem, but you never know.  Currently 
  126. JPEGS cannot be accessed while other applications are writing to that file. 
  127.  
  128. One last item is the Quick Dir listbox.  Go back on click on Quick Dir for the 
  129. description. 
  130.  
  131.  
  132. ΓòÉΓòÉΓòÉ 2.2.2. Saving an Image ΓòÉΓòÉΓòÉ
  133.  
  134. The File Save dialog is pretty simple but deserves some explanation.  The Quick 
  135. Dir listbox needs some detailed explanation that can be accessed by clicking on 
  136. Quick Dir.  Drive, directory, and files are listings or displays of what is 
  137. currently available.  You can enter any valid directory/path combo in the Save 
  138. as: entry box.  The file listing is for information purposes mostly, but if you 
  139. do click on the file it will become the entry in the Save as: box. If you 
  140. double click on a file listbox entry, that will an indication that you want to 
  141. save the current image into that file. 
  142.  
  143. CAUTION:
  144.  Be sure to indicate a file type before you double click on a file. 
  145.  
  146. When you select a file type, that appropriate extension is added to or changed 
  147. for the text in the Save as: entry field. 
  148.  
  149. File types available are: 
  150.  
  151. o GIF 
  152. o JPEG 
  153. o OS2 BMP (RLE & uncompressed) 
  154. o Windoze BMP (RLE & uncompressed) 
  155. o PBM (raw and ASCII) 
  156. o X11 BMP 
  157. o Sun Raster 
  158. o TARGA (RLE & uncompressed) 
  159. o TIFF 
  160. o PCX 
  161.  
  162. All are pretty self explanatory, but it should be noted that for Windows and 
  163. OS2 bitmaps both regular and RLE formats are written.  RLE formats will do 
  164. little good on real life images with more than 16 colors. 
  165.  
  166. There are three options located at the bottom of the dialog.  Save at displayed 
  167. size will write the image at whatever resolution the image is currently being 
  168. displayed with.  This is contrasted with the resolution that the image is 
  169. stored in memory as.  See Viewing Strategies  for details. 
  170.  
  171. The second option is to Save at Low Priority.  Since JoeView is multithreaded 
  172. you can save a file and while it is being written to disk, you can go ahead 
  173. (yippy!) and start load a different image.  Low priority will write the current 
  174. file a little slower (in theory anyway) so that you (or other processes) can 
  175. use the CPU to do more important things, like loading/looking at another image. 
  176. (See the discussion about Low Priority in the table of contents).  Only one 
  177. image can be saved at a time.  The menu command to save an image will be 
  178. inaccessible until JoeView has finished saving the current file.  During the 
  179. time an image is being saved the border of JoeView will turn red or blue 
  180. depending on whether JoeView is the active application.  When the save is 
  181. complete, JoeView will return to its default border colors.  In this way you 
  182. will know when a file save is complete.  If you try and exit JoeView before a 
  183. save is finished, you will get a warning message and the option of finishing 
  184. the save before termination. 
  185.  
  186. The third option is Iconify which will create an icon version of the image and 
  187. make it the icon for the file.  This way you get an image that is just big 
  188. enough for you to get an idea of what the file is like.  See the iconify 
  189. description for important details.  When iconify is selected here, you do not 
  190. get to use a cropping rectangle to indicate what area of the image becomes the 
  191. icon, the whole image is used. 
  192.  
  193. Colors  The colors option will cause the image to be saved in the appropriate 
  194. number of indicated colors.  The saved imaged is affected, but the current 
  195. image will remain unchanged. 
  196.  
  197.  
  198. ΓòÉΓòÉΓòÉ 2.2.3. Slide Show ΓòÉΓòÉΓòÉ
  199.  
  200. Slide Show is used to display a series of images, either a new image is 
  201. displayed after a certain amount of time or after a certain signal is given 
  202. (manual mode).  There are three ways to start a slide show.  One is to use the 
  203. Slide Show option.  Two is to drag a JoeView slide show file onto JoeView or to 
  204. open such a file with the Open File dialog.  Three is to drag and drop multiple 
  205. files onto JoeView. 
  206.  
  207. The Drive listbox changes the current drive. 
  208.  
  209. Quick Dir is explained elsewhere. 
  210.  
  211. Directory is a listbox of the current directory.  Selecting an item in this 
  212. listbox will cause a change to that directory. 
  213.  
  214. Note:  Selecting the current directory will deselect all the files highlighted 
  215. in the Files listbox. 
  216.  
  217. The basic idea is to select a file that you want included in the display. You 
  218. can select a specific file by clicking on it in the File list box.  You may 
  219. select multiple files at one time.  A file is selected when it is highlighted. 
  220.  
  221. Note:  If you double click on a file, it is immediately selected into the 
  222. Selected Files listbox. 
  223.  
  224. If you have mistakenly highlighted a file, clicking on it again will 
  225. de-highlight it.  In addition to going after individual files in the Files 
  226. listbox, you may use any or all of the four buttons located above it.  *.gif 
  227. will highlight all files that have the .gif extension.  Similar for *.jpg while 
  228. *.* selects everything.  The Mask-> button will take whatever you have entered 
  229. in the listbox to its right and use it for finding files.  You DO NOT use wild 
  230. card symbols here (*, ?). 
  231.  
  232. Example:  Using .gif as the mask would highlight all files that have .gif in 
  233. them.  This would include 
  234. JoeView.gif 
  235. myfile.old.gif 
  236. 1.gif.jpg 
  237. Using t as the mask would select any file with a t in it. 
  238.  
  239. Once you have highlighted a file, hitting the Add-> button will select it into 
  240. the Selected Files listbox. The files listed there are the ones that will be 
  241. used in the actual slide show. 
  242.  
  243. If you have decided that you don't want to include a file that is listed in the 
  244. Selected Files listbox, highlight it and use the <-Remove button to eliminate 
  245. it. 
  246.  
  247. Note:  You can select multiple copies of the same file into the Selected Files 
  248. listbox. 
  249.  
  250. The Start button will begin the slide show. 
  251.  
  252. There are two additional buttons, Save and Load.  These are for storing and 
  253. retrieving a SlideShow file selection.  When a Slide Show file is saved, all 
  254. the files listed and the current Slide Show options are stored.  The default 
  255. extension for the file created is .sls but any file name can be used.  When 
  256. loading a file, all entries are placed into the selected listbox, including any 
  257. that are already there.  The Slide Show options are updated to those that were 
  258. in the file if any existed.  You can also start a Slide Show by selecting a 
  259. Slide Show file from the File Open Dialog or by dragging and dropping such a 
  260. file onto the JoeView icon or dragging and dropping multiple files onto 
  261. JoeView. 
  262.  
  263. There are three options that can be selected without using the Options button. 
  264. They are: Timed vs Manual, and Loop.  All three can be modified from the dialog 
  265. brought up by using the Options button. The Options button brings up a more 
  266. complete set of options than those displayed here.  See SlideShow Options. 
  267.  
  268. Be aware that you can modify your selected options even when SlideShow is 
  269. running by selecting Options off the Main Menu. 
  270.  
  271. Once SlideShow begins, two additional options will appear on the Main Menu that 
  272. exist only when you are running SlideShow.  One is Pause SlideShow and the 
  273. other is Stop SlideShow.  Pause will temporarily halt the slide show, thus 
  274. freeing the CPU for other things.  Once selected, this command will change to 
  275. Restart SlideShow. 
  276.  
  277. Note:  When JoeView is minimized the SlideShow will pause after the next image 
  278. has been read in. 
  279.  
  280. Stop SlideShow will stop the slide show.  The slide show will not stop in the 
  281. middle of reading a file, so if a file is currently being loaded, JoeView will 
  282. complete the load before ending the slide show. 
  283.  
  284. Manual Mode:  The next image is displayed when you double click with the left 
  285. mouse button on the current image or hit the N key. 
  286.  
  287. Note:  You can skip ahead to the next image in Timed mode by double clicking 
  288. with the left mouse button or hitting the N key. 
  289.  
  290.  
  291. ΓòÉΓòÉΓòÉ 2.2.3.1. SlideShow Options ΓòÉΓòÉΓòÉ
  292.  
  293. You can specify the Time interval between images being displayed.  This field 
  294. is ignored if you select manual mode.  The actual time interval is calculated 
  295. from the time the most recent image is displayed until the next image will 
  296. start to be read.  Because of time it take to read an image, the actual 
  297. interval between image displays may be quite different than that requested. 
  298.  
  299. There are four different ways of having the image displayed.  The first two are 
  300. grouped with the ability to force them not to change their window size.  The 
  301. fixed window size option does not affect the other two options.  Both Keep True 
  302. Aspect Ratio and Aspect Ratio can Distort will resize up to the size of the 
  303. screen with each new file load unless Fixed Window Size is specified. Keep True 
  304. Aspect Ratio will always display the image in its correct height vs width 
  305. ratio.  If Fixed Window Size is selected, the image may be padded with black 
  306. space on the sides or top and bottom as needed. Aspect Ratio can Distort will 
  307. resize the window to the correct size if Fixed Window Size if NOT selected. 
  308. Any subsequent resizes of the current image will force the image to fit inside 
  309. the window.  If Fixed Window Size is selected, the image will always fit 
  310. exactly into the window. 
  311.  
  312. The alternative two display options are size limited.  Auto Resize with 
  313. Constant Width will always keep the image at the current width of the window, 
  314. small images will expand appropriately while large ones will shrink.  The upper 
  315. left corner of the window is considered fixed, while the base is allowed to 
  316. float.  In this way the window will resize (as far down as the bottom of the 
  317. screen) to keep the aspect ratio correct. If the correct aspect ratio cannot be 
  318. achieved because the image would be too large, the image width will be padded. 
  319. Auto Resize with Constant Height is similar except the height of the window 
  320. will not change.  Again, the upper left corner is considered fixed and will not 
  321. be moved by JoeView.  The window will expand to the far right side of the 
  322. screen if needed. 
  323.  
  324. The Loop option will cause the slide show to begin over again once all the 
  325. images have been cycled through. 
  326.  
  327. Randomize files will cause the slide show images to appear in a random order, 
  328. otherwise they appear in the order listed in the Selected Files listbox shown 
  329. in the SlideShow dialog. 
  330.  
  331. Note:  The file list is randomized but no effort is made to make sure all files 
  332. are shown when the list is gone through, nor is the same file prevented from 
  333. being shown multiple times.  The only guarantee is that the correct number of 
  334. files will be shown during each cycle.  (cycle = 1 if Loop is not selected). 
  335.  
  336. You can also specify whether you want the Slide Show to run at low priority. 
  337. This way your other applications will not be as affected during a file read. 
  338. See the discusstion about Low Priority in the table of contents. 
  339.  
  340. Any of these options can be changed while the SlideShow is running.  Use the 
  341. Options command on the Main Menu once the slide show is started. 
  342.  
  343.  
  344. ΓòÉΓòÉΓòÉ 2.2.4. Printing ΓòÉΓòÉΓòÉ
  345.  
  346. So far printing has shown to be a hit and miss operation.  Some images come out 
  347. OK, while others distort the colors.  You may find that images will printout 
  348. better if you map the colors into the system colors first.  On black and white 
  349. printers doing a black and white dither may yield better results and similarly, 
  350. you may want to convert your image to grayscale before printing. 
  351.  
  352. Printing is not multi-threaded (so I'm lazy) so give it some time to complete. 
  353.  
  354. The hard part about printing it to do so without distorting your image 
  355. inadvertently.  This is where the Fixed radio buttons come in.  Basically, you 
  356. choose what part of the picture will remain constant.  Usually you will want to 
  357. make the image size constant, but thats up to you. 
  358.  
  359. The Distortion of apect ratio tells you how much your image is being squished 
  360. because of the margins you have called for.  Basically, 0 means that your image 
  361. will print true, while positive values indicate the sides are squished in, 
  362. while a negative value means the top is squished down. 
  363.  
  364. You select a printer by clicking on the appropriate printer name shown in the 
  365. Printers listbox.  Double clicking on the printer will allow you to edit its 
  366. defaults.  In addition, you can check the EPS (Encapsulated Postscript) 
  367. checkbox. This will modify the Printing dialog box, allowing you to enter a 
  368. filename and also choose whether to use RLE encoding (compress) on the file and 
  369. or a preview section for the file created.  The code to create an EPS file is 
  370. based on work by John Bradley of The University of Pennsylvania. 
  371.  
  372.  
  373. ΓòÉΓòÉΓòÉ 2.2.5. Iconify & UnIconify ΓòÉΓòÉΓòÉ
  374.  
  375. This little puppy allows you to associate a miniature version of your image or 
  376. part of your image with the image file.  The icon is placed in the extended 
  377. attributes of the file and adds about 4K to the file length.  Although the icon 
  378. will be displayable at any resolution, for all practical purposes only those 
  379. who are using a resolution of 1024x768 should use the option.  Resolutions less 
  380. than this use icons which are 32x32 and just loose too much detail when 
  381. shrinking.  Normally the entire image is used to make the icon, but if a 
  382. cropping rectangle is present only that part of the image will be used. 
  383.  
  384. UnIconify will delete the icon information from the image file. 
  385.  
  386.  
  387. ΓòÉΓòÉΓòÉ 2.2.6. Pipe Me Baby ΓòÉΓòÉΓòÉ
  388.  
  389. This was a failed attempt to use named pipes to communicate with other 
  390. programs. Instead of using pipes it uses temporary files, and so in either case 
  391. the use is transparent to both you and the other program. 
  392.  
  393. The option is designed to allow the user to access the programs bundled under 
  394. the PbmPlus logo.  These utilities operate on PBM style files and do a wide 
  395. variety of operations.  The utilities can be downloaded from many sources and 
  396. they are free (to my knowledge).  It is your problem whether the utilities work 
  397. or not.  The program does not have to be any of these utilities, any program 
  398. that takes a PBM style file in and outputs a PBM style file will work.  The 
  399. program can use Stdio for file manipulation. 
  400.  
  401. Defined Pipes:  JoeView stores previously defined pipes (programs) in a file 
  402. called joeview.pip which is stored in the same directory as your exe file. 
  403. This is a list of the contents of the file.  It is saved using the Save button. 
  404.  
  405. Save Button:  Saves whatever is listed in the Defined Pipes list box into the 
  406. joeview.pip file. 
  407.  
  408. Delete Button:  Deletes whatever item is selected in the Defined Pipes list 
  409. box. 
  410.  
  411. Select Button: Copies whatever item is selected in the Defined Pipes list box 
  412. into the Pipe to Run list box. 
  413.  
  414. Run Button: Runs whatever file is listed in the Pipe to Run entry field. 
  415.  
  416. PPM, PGM, PBM, Raw specify what type of PBM format file to input into pipe. 
  417.  
  418. Pipe to Run is the program to run and its arguments.  The program must be the 
  419. full file name and extension, i.e. c:\os2\pgmoil.exe.  In addition, any command 
  420. line options should be listed here as well.  If you want to pass file names 
  421. (input or output) as arguments to the program use $in and $out as holders for 
  422. those arguments.  For example, if your program needs both an input and output 
  423. file specified on the command line use: 
  424.  
  425. c:\os2\pgmoil.exe $in $out 
  426.  
  427. JoeView would replace $in and $out with the appropriate temporary files.  If 
  428. your program uses Stdio, just leave out either $in and/or $out as appropriate. 
  429. The program will appear in a cropped window in the lower left corner of your 
  430. screen while it is running.  BTW, the temp files will be located in your the 
  431. directory defined by TEMP or TMP and the files will have the format 
  432. joepipe.(three random letters).  If you shut down JoeView in the middle of 
  433. something these files might remain.  You should check periodically and delete 
  434. any that exist. 
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ 2.3. Edit ΓòÉΓòÉΓòÉ
  438.  
  439. The commands listed under this heading will typically permanently change your 
  440. image, with the exception of Copying to the Clipboard (Copy...). 
  441.  
  442.  
  443. ΓòÉΓòÉΓòÉ 2.3.1. Copy and Paste ΓòÉΓòÉΓòÉ
  444.  
  445. The pathway to the copy and paste command. 
  446.  
  447.  
  448. ΓòÉΓòÉΓòÉ 2.3.1.1. Copy... ΓòÉΓòÉΓòÉ
  449.  
  450. Copy to the clipboard.  The image will be copied to the system's clipboard. 
  451. You will be asked whether you want to copy the image's palette also. Some 
  452. applications don't look for a palette and so the image will get really 
  453. distorted if you tell JoeView to include the palette.  If you don't copy in a 
  454. palette, JoeView will convert the image to the system colors using Distance 
  455. Method.  The system colors are pretty blah so if you want the copied image to 
  456. be really good, convert it to the system's palette first by using FS Dither 
  457. before the copy. 
  458.  
  459. If a cropping rectangle is present, only the image inside the cropping 
  460. rectangle gets copied. 
  461.  
  462.  
  463. ΓòÉΓòÉΓòÉ 2.3.1.2. Paste ΓòÉΓòÉΓòÉ
  464.  
  465. Paste from the clipboard.  Whatever image JoeView is currently displaying will 
  466. be lost. 
  467.  
  468.  
  469. ΓòÉΓòÉΓòÉ 2.3.1.3. Paste Into From Clipboard (or File) ΓòÉΓòÉΓòÉ
  470.  
  471. This feature allows you to paste whatever is currently in clipboard into 
  472. whatever image currently is being displayed by JoeView.  A locating rectangle 
  473. is used to allow you to position the clipboard image to the spot that you want 
  474. it.  The clipboard image must be smaller dimensionally than the image currently 
  475. being viewed in JoeView.  You can resize the clipboard image to be whatever 
  476. size you want, but you cannot change the aspect ratio. 
  477.  
  478. The alternate form of this command is to paste directly from another file. 
  479. This has the advantage of not being limited by the clipboard's color palette. 
  480.  
  481. Both of these command operate the same, with the exception that Pasting from a 
  482. file first requires you to specify a file. 
  483.  
  484.  
  485. ΓòÉΓòÉΓòÉ 2.3.2. Colors ΓòÉΓòÉΓòÉ
  486.  
  487. Color crunching stuff.  Toto, this doesn't look like Kansas! 
  488.  
  489.  
  490. ΓòÉΓòÉΓòÉ 2.3.2.1. Control Center ΓòÉΓòÉΓòÉ
  491.  
  492. This is where the action takes place for color manipulations.  Many of the 
  493. manipulations that can be executed here can also be launched from the menu 
  494. system or via hot-keys, but everything accessed via this dialog can be undone. 
  495.  
  496. Basically you have two ways of manipulating the image's colors in the broadest 
  497. sense, by changing the Red Green and Blue (RGB) components of the image's 
  498. colors and by changing the Hue Saturation and Value (intensity) or HSV of the 
  499. image.  The method of manipulation is chosen by the radio button HSV or RGB. 
  500. The values of RGB and HSV are stored separately so the values in one set of 
  501. spin buttons will not correspond to the other set. 
  502.  
  503. The Dynamic check box will cause the changes you are making to the various 
  504. sliders to be applied as you make the changes.  If you do not have the dynamic 
  505. box checked, you will need to hit the Test button to see the effects of your 
  506. changes. Dynamic can be sluggish, but that's why you bought a Pentium right? 
  507.  
  508. The Forget It is equivalent to cancel and will restore the image to its 
  509. original state before closing the dialog.  Make it So  applies the changes 
  510. permanently to the image. And just for your information, yes I do watch ST:TNG 
  511. and I'm proud damn it, proud I say,  to do so! 
  512.  
  513. Reset will reset the image to its original state. 
  514.  
  515. Other manipulations can be run from here by selecting the appropriate button. 
  516. They are 
  517.  
  518. o Grayscale 
  519. o Reduce Colors 
  520. o BW Dither 
  521. o FS Dither 
  522. o Distance Method 
  523. o Smooth 
  524.  
  525.  
  526. ΓòÉΓòÉΓòÉ 2.3.2.2. Brighten ΓòÉΓòÉΓòÉ
  527.  
  528. Colors are all shifted up to brighter colors.  Will eventually turn entire 
  529. image white.  If you shift colors repeatedly (all white in the extreme) you 
  530. will not be able to undo using the Darken feature.  This is accessed via the 
  531. hot-key "B". 
  532.  
  533.  
  534. ΓòÉΓòÉΓòÉ 2.3.2.3. Darken ΓòÉΓòÉΓòÉ
  535.  
  536. Colors are all shifted down to darker colors.  Will eventually turn entire 
  537. image black.  Can be undone with Brighten if not taken too far.  This is 
  538. accessed via the hot-key "D". 
  539.  
  540.  
  541. ΓòÉΓòÉΓòÉ 2.3.2.4. BW Dither ΓòÉΓòÉΓòÉ
  542.  
  543. Turns current image into a black and white image. 
  544.  
  545.  
  546. ΓòÉΓòÉΓòÉ 2.3.2.5. Reduce Colors ΓòÉΓòÉΓòÉ
  547.  
  548. You specify the number of colors you want the image to have.  Numbers greater 
  549. than the current number of colors the image uses will do nothing and values 
  550. less than 2 are not allowed.  This function is usually fast but can be a little 
  551. time consuming with large pictures. 
  552.  
  553.  
  554. ΓòÉΓòÉΓòÉ 2.3.2.6. Go Grayhound ΓòÉΓòÉΓòÉ
  555.  
  556. Converts the colors used in the image to grayscale. 
  557.  
  558.  
  559. ΓòÉΓòÉΓòÉ 2.3.2.7. System Colors ΓòÉΓòÉΓòÉ
  560.  
  561. There are two different ways of converting from the image's current color 
  562. scheme to that used by your OS2 system.  They are Floyd Steinberg Dithering (FS 
  563. Dither) and the Distance Method. 
  564.  
  565.  
  566. ΓòÉΓòÉΓòÉ 2.3.2.7.1. FS Dither ΓòÉΓòÉΓòÉ
  567.  
  568. Floyd Steinberg Dithering of your image into the system's palette.  The 
  569. dithering method is based on ppmquant.c by Jef Poskanzer.  This produces 
  570. incredible results, sometimes it is hard to distinguish your original image 
  571. from the dithered.  Of course the penalty is that it is EXTREMELY CPU 
  572. intensive.  A VGA size image takes several minutes on my 33Mhz 486, your 
  573. mileage may vary.  The results are much better than using the Distance Method. 
  574.  
  575. Note that the CPU load is reduced to almost nothing if you bothered to create 
  576. the JoeView.dth file.  This file preloads most of the calculations and makes 
  577. the whole thing fly.  This file is created automatically whenever JoeView needs 
  578. to create the JoeView.pal file. 
  579.  
  580. This option is useful when copying to the clipboard or creating wallpaper or 
  581. lockup screen images. 
  582.  
  583.  
  584. ΓòÉΓòÉΓòÉ 2.3.2.7.2. Distance Method ΓòÉΓòÉΓòÉ
  585.  
  586. Converts your image's palette into the system's default palette.  Much faster 
  587. than FS Dither but noticeably lower quality. 
  588.  
  589. This option is useful when copying to the clipboard or creating wallpaper or 
  590. lockup screen images. 
  591.  
  592.  
  593. ΓòÉΓòÉΓòÉ 2.3.3. Resize ΓòÉΓòÉΓòÉ
  594.  
  595. Resizing changes the resolution of the image (in memory).  This will effect 
  596. that actual image, not just the displayed image.  See  Viewing Strategies for 
  597. more information.  Remember that how you have specified that the image be 
  598. displayed may make it appear that this operation has done nothing when it 
  599. actually has.  For example, you may have the window size fixed. 
  600.  
  601. You can do +-10% increments or size the image to fit a particular screen size, 
  602. such as 640 x 480, 800 x 600, and 1024 x 768 or the resolution that the image 
  603. is currently being displayed at.  In addition you can specify the actual 
  604. dimensions to use by using the Custom command. 
  605.  
  606.  
  607. ΓòÉΓòÉΓòÉ 2.3.4. Cropping ΓòÉΓòÉΓòÉ
  608.  
  609. Using the left mouse button, select an area of the image which you wish to 
  610. retain.  Using crop will eliminate all area's outside the indicated rectangle. 
  611. The change affects the image, unlike  Zoom. 
  612.  
  613. You must  be aware that the image may be being displayed with padded sides. 
  614. The padded sides exist for display only and so cannot be cropped away.  This 
  615. could happen if you manually resized the window after JoeView originally 
  616. displayed it. 
  617.  
  618.  
  619. ΓòÉΓòÉΓòÉ 2.3.5. Auto Cropping ΓòÉΓòÉΓòÉ
  620.  
  621. Auto cropping attempts to use a little bit of color comparisons to estimate 
  622. which parts of the picture need to be croppped. 
  623.  
  624. Default  This method looks at the color of the pixel in the lower left corner 
  625. of the image. It then compares all other colors on each side of the image to 
  626. this color.  If one side's color all match this "magic" color, that side is 
  627. deleted.  This method progresses until a new color is encountered. 
  628.  
  629. Strict, Average, Loose, and Custom: All of these methods work on the same 
  630. underlying principle.  A group of colors are identified and used to compare a 
  631. side of the image to.  The group of "magic" colors will be taken from the lower 
  632. left side of the image unless a cropping rectangle has been selected, in which 
  633. case the "magic" colors are taken from there.  A maximum of 10 colors will be 
  634. determined, only one will be used if a solid color area is input.  A percentage 
  635. hit test is used to determine if a side of the image should be deleted.  For 
  636. instance, if you have 3 "magic" colors and if half the pixels of the side being 
  637. examined have these colors a hit of 50% would be recorded.  This hit percentage 
  638. is compared to the allowed value to determine whether or not to delete the 
  639. side.  The Strict, Average, and Loose options correlate to a 95%, 85%, and 75% 
  640. hit rates.  You can enter your own percentage using the Custom command. 
  641.  
  642. Note:  If nothing seems to be happening, you might be using too tight a 
  643. percentage, but it also might be too loose.  If the percentage is way too 
  644. loose, too much of the picture gets cropped and JoeView assumes that this isn't 
  645. what is desired and so does no cropping. 
  646.  
  647.  
  648. ΓòÉΓòÉΓòÉ 2.3.6. Smooth ΓòÉΓòÉΓòÉ
  649.  
  650. With Use 9 Points selected, this does a smoothing of the image by taking a 
  651. given pixel and then all of its neighbors, giving 9 total pixels.  Depending on 
  652. the weighting factor, the RGB components of these pixels are combined for a new 
  653. value for the given pixel.  A weighting of 100 would mean that the given pixel 
  654. influences the created pixel the most, in fact to the exclusion of the 
  655. neighboring pixels so there is no effect.  At the opposite extreme a weight of 
  656. 0 means all the pixels get averaged in equally.  This tends to blur the image 
  657. somewhat. 
  658.  
  659. If 9 Points is not selected, 4 points are used.  One point and three neighbors. 
  660. This tends to do a wave sort of smoothing.  No weighting is used. 
  661.  
  662.  
  663. ΓòÉΓòÉΓòÉ 2.4. Manipulations ΓòÉΓòÉΓòÉ
  664.  
  665. This menu command does nothing but bring down another pull down menu.  The 
  666. commands on that menu are used for changing or manipulating the current image. 
  667. Many have keyboard equivalents.  All these commands can be undone by using 
  668. another command or the same command twice, i.e. using mirror twice. 
  669.  
  670.  
  671. ΓòÉΓòÉΓòÉ 2.4.1. Flip ΓòÉΓòÉΓòÉ
  672.  
  673. Depending on the option selected, the current image is flipped (mirrored) 
  674. either vertically or horizontally. 
  675.  
  676.  
  677. ΓòÉΓòÉΓòÉ 2.4.2. Rotate ΓòÉΓòÉΓòÉ
  678.  
  679. Rotation is either clockwise or counterclockwise.  Rotation takes place in 90 
  680. degree increments. The easiest way to undo the affects of this command is to 
  681. pick up your monitor and rotate it 90 degrees in the opposite direction of the 
  682. way you started.  But you didn't come all this way just to read that, did you? 
  683.  
  684.  
  685. ΓòÉΓòÉΓòÉ 2.4.3. Invert Colors ΓòÉΓòÉΓòÉ
  686.  
  687. The current image colors are inverted.  For example, black becomes white, etc. 
  688. The effect is pretty interesting, just like taking large amounts of 
  689. hallucinogens but without the high cost. 
  690.  
  691.  
  692. ΓòÉΓòÉΓòÉ 2.4.4. Zooming ΓòÉΓòÉΓòÉ
  693.  
  694. Zooming allows the user to zoom in on a particular area of the image.  That 
  695. area is first selected by using the left mouse button.  After a zoom has been 
  696. performed, the menu option will change to include a Zoom Out option.  The 
  697. original image is unaffected by zooming, as opposed to  Cropping .  You can 
  698. keep on zooming in to your hearts content, but Zooming Out goes all the back to 
  699. the original image. 
  700.  
  701.  
  702. ΓòÉΓòÉΓòÉ 2.5. Options ΓòÉΓòÉΓòÉ
  703.  
  704. This will bring up one of two possible menus depending on whether or not you 
  705. are currently running a SlideShow .  The slideshow options can be looked at in 
  706. the Slide Show Options section.  You check or fill in the various selections as 
  707. you see fit and then select the action you would like with one of the four 
  708. buttons on the botton of the dialog.  For the conventional options menu there 
  709. is a notebook and four buttons at the bottom of the dialog. Those buttons are: 
  710.  
  711. o Apply (Options become active, but are not saved) 
  712. o Save (Options saved but not applied) 
  713. o Cancel (duh!) 
  714. o Help (Very complicated button, will be explained in your senior year.) 
  715.  
  716.  
  717. ΓòÉΓòÉΓòÉ 2.5.1. Palette Options ΓòÉΓòÉΓòÉ
  718.  
  719. Three possible options are available regarding palettes. 
  720.  
  721. First you can Overide System Colors  This allows JoeView to cream the system 
  722. colors. These are the colors used for dialogs, menu text, etc.  There are not 
  723. that many of them, you can figure out how many unique ones you have by looking 
  724. at the  Image Information Dialog colors field.  You will often see "got 245 out 
  725. of 256". Subtract the first number from 256 to get the number of system colors. 
  726.  
  727. The colors that the application can't place are mapped into the closest ones 
  728. the system will display. Usually the increase in image quality is 
  729. insignificant, but you might use this option if you are not gonna look at other 
  730. applications while JoeView is running. 
  731.  
  732. Next come Aggressive on Palette JoeView loves to fight for the colors it is 
  733. using.  If another application starts changing the palette this option will 
  734. cause JoeView to try and change the colors back every now and then.  If you are 
  735. working with another application it can get annoying having the colors flash 
  736. and the system will slow down somewhat. 
  737.  
  738. You can use a hot key (Alt A) to cycle this on or off.  When you do so JoeView 
  739. will beep a high tone when you turn it on, a low tone when it is off. 
  740.  
  741. Even while Aggresive on Palette is off whenever you make JoeView the active 
  742. application the palette will become reset to the correct colors. 
  743.  
  744. The above two options only affect how the image is displayed.  The actual 
  745. colors that make up the image in memory are not affected by these choices. 
  746. Display Using System Palette actually changes the colors that make up the 
  747. image.  The option will cause the image that is loaded to be diplayed using 
  748. only the colors that the system has in its default palette.  The method used to 
  749. convert to the system colors is a Floyed Steinberg error diffusion which yields 
  750. pretty good quality and has the advantage is that JoeView will not affect other 
  751. applications by reseting their palettes.  Also, mutlitple versions of JoeView 
  752. can be run and each one will not interfere with the others.  Since this will 
  753. actually change the colors of the image (not just the displayed colors) so 
  754. don't use this to read and then save files if you want a true conversion. 
  755.  
  756.  
  757. ΓòÉΓòÉΓòÉ 2.5.2. Display Options (Window Sizing) ΓòÉΓòÉΓòÉ
  758.  
  759. These are options which apply to how the images are displayed. 
  760.  
  761. Images can be shown so that the window is scaled to reflect the size of the 
  762. image each time it is loaded - this would mean making Fixed Window Size 
  763. unchecked.  With Fixed Window Size on, the window will not resize when a new 
  764. image is loaded. 
  765.  
  766. Scale, keep true perspective means the width to height ratio remains constant. 
  767. The image gets padded with black if the image will not correctly fit into the 
  768. display window.  With Scale perspective can change  you can stretch the image 
  769. to fit the window. 
  770.  
  771.  
  772. ΓòÉΓòÉΓòÉ 2.5.3. Dithering/Quantizing Options ΓòÉΓòÉΓòÉ
  773.  
  774. Actually, this should be called just quantizing, but I can't spell that.  These 
  775. are the different ways that a 24 bit image will be converted down to 8 bits so 
  776. that it can be displayed.  These do not apply to JPEG, which has its own 
  777. options.  These are used on Targas, PBMs, and other formats that might contain 
  778. 24 bit images. The quickest dithering routine is used when smoothing. 
  779.  
  780. o Gray  The fastest way.  Converts image to grayscale.  Good for previewing new 
  781.   pictures. 
  782.  
  783. o Quick The fastest color way.  Not too bad but some image degradations might 
  784.   occur.  Use this one most of the time and you'll be OK.  The others (below) 
  785.   are better but much slower. 
  786.  
  787. o Best Good compromise between speed and quality.  Some mild (Floyd Steinberg) 
  788.   dithering is used. Code based on code by Jef Poskanzer (ppmquant.c - quantize 
  789.   colors). 
  790.  
  791. o Slow  This implements Heckbert's Median Cut algorithm.  The code is hacked 
  792.   from XV by John Bradley of The University of Pennsylvania. Quality in line 
  793.   with Best.  This does a full dither and is quite slow but provides the best 
  794.   results. This is especially true when viewing true 24 bit images (meaning way 
  795.   over 256 colors), this will give you the best conversion down to 8 bit, 
  796.   especially when there are a lot of subtle shade changes. I have hit and miss 
  797.   luck with it.  BTW, this is a little memory intensive and slow.  If you 
  798.   abandon a file read it may not return control immediately to JoeView 
  799.  
  800. Quantizing (reducing down to 256 colors) isn't always needed and it is much 
  801. faster to not have to run a quantizing algorithm.  You have the ability to 
  802. specify whether the image data should be checked to see if it contains more 
  803. than 256 colors.  If the images you will be looking at will mostly/always have 
  804. more than 256 colors you should not do the checking as it will be a waste of 
  805. time.  If the images are almost always 256 colors or less then doing the check 
  806. will save some time. 
  807.  
  808.  
  809. ΓòÉΓòÉΓòÉ 2.5.4. Directories Option ΓòÉΓòÉΓòÉ
  810.  
  811. Where would you like to start looking for images?  Leave blank to start in 
  812. current directory. 
  813.  
  814. For a detailed description of what Quick Directories do see Quick Dir.  In this 
  815. notebook page you type the desired directory into the entry field and then hit 
  816. the add button.  Similarly, select the directory you want to remove and hit the 
  817. del button to remove that information. 
  818.  
  819. For both of these option, JoeView will verify the information is valid before 
  820. exiting the dialog.  If there is a problem you will get an error message and 
  821. have to fix the problem before you can exit. 
  822.  
  823.  
  824. ΓòÉΓòÉΓòÉ 2.5.5. Open Options ΓòÉΓòÉΓòÉ
  825.  
  826. The majority of these settings are described in Open Dialog. 
  827.  
  828. The major option not covered there is the File Mask. This is the value that 
  829. will be loaded into the File Open Dialog File Mask upon startup.  Wild cards 
  830. are valid and you can separate groups by either a space or a ;, for example 
  831. *.bmp;*.gif;*.jpg or *.bmp *.gif *.jpg are both valid. There is a slight speed 
  832. penalty for each additional group. 
  833.  
  834.  
  835. ΓòÉΓòÉΓòÉ 2.5.6. Swapper Option ΓòÉΓòÉΓòÉ
  836.  
  837. Swapper Check is two parts, a check box and a drive entry field.  This was 
  838. added in Version 1.22. When you have checked the check box and you have put a 
  839. valid drive in the drive box (just the letter, no colon) this option becomes 
  840. active.  The drive should be whatever drive your swapper.dat file is on.  What 
  841. this does is that whenever JoeView is going to allocate a large chunk of memory 
  842. (defined as 1 Meg or more) it will query the drive you have indicated for 
  843. available space.  If the available space does not exceed the amount of memory 
  844. requested by at least 4 Megs, then JoeView will give a warning message and the 
  845. opportunity to terminate.  The feature is a preventative step to make sure you 
  846. don't run out of disk space (swap space).  The speed impact is quite small and 
  847. it could really save your butt if you get some stupid tiff file that looks 
  848. pretty small but in reality is 10,000 X 10,000.  Take a test drive by making 
  849. the drive one of your floppies and then reading in a large full color pbm file. 
  850.  
  851.  
  852. ΓòÉΓòÉΓòÉ 2.5.7. Misc Options ΓòÉΓòÉΓòÉ
  853.  
  854. Show Load Progress shows the current status of file loading, basically a 
  855. percentage of image loaded.  Shown in the window title bar.  Some File formats 
  856. may not show this.  When dithering (quantizing) takes place, messages to that 
  857. affect will be displayed in the Title Bar. 
  858.  
  859. Show Image Info on Startup will start the image info dialog upon startup (what 
  860. else did you expect?).  See see Image Infomation. 
  861.  
  862.  
  863. ΓòÉΓòÉΓòÉ 2.6. Image Information ΓòÉΓòÉΓòÉ
  864.  
  865. This command brings up a window that shows information about the currently 
  866. displayed image.  The information consists of: 
  867.  
  868. o The Filename 
  869. o Format of the image file and filesize 
  870. o Resolution of the image in memory 
  871. o Resolution of the image as displayed 
  872. o Distortion and scale of the image (Dist. and Scale) 
  873. o Color information 
  874. o An unseen line that occasionally will show warning messages 
  875. o A history list box of manipulations that have been performed on the current 
  876.   image. 
  877.  
  878. The Information Box will remain around as long as JoeView is alive or until the 
  879. Hide button is pressed. 
  880.  
  881. The information categories are pretty self explanatory, but for clarity 
  882. Resolution refers to the resolution of the image as it is currently stored in 
  883. memory, while Display Res. is the resolution that the image is currently being 
  884. displayed at. 
  885.  
  886. The Dist. and Scale category may not be obvious.  The distortion is the ratio 
  887. of the aspect ratio of the image as it is displayed divided by the aspect ratio 
  888. of the image in memory.  Take that number and subtract one from it if it is 
  889. greater than one or if it is less than one invert it and make it negative and 
  890. then add one.  We will call the aspect ratio the width of the image divided by 
  891. its height.  So a distortion of 0 means the image is not being distorted, a 
  892. positive value means your are crushing the top down and a negative value means 
  893. you are squishing the sides in. 
  894.  
  895. Scale is the scale factor of memory versus display.  2 means the display image 
  896. is twice as large as the memory image.  When you are distorting the image, the 
  897. largest scale (width or height) is displayed. 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 3. Some Hints ΓòÉΓòÉΓòÉ
  901.  
  902. No, the hints aren't here, go in one more level. 
  903.  
  904.  
  905. ΓòÉΓòÉΓòÉ 3.1. Viewing Strategies ΓòÉΓòÉΓòÉ
  906.  
  907. Images are displayed in several ways. Two ways that are always available are 1) 
  908. just a simple, correctly scaled image and 2) an image that starts out scaled, 
  909. but if you resize the window the aspect ratio will change so that the picture 
  910. always fills up the window.  These two types of display can be modified 
  911. somewhat by selecting the fixed window size attribute.  This option will force 
  912. JoeView to not resize the viewing window each time a new file is loaded 
  913. (whether by SlideShow or by File -> Open).  The user can resize the window at 
  914. any time. 
  915.  
  916. The SlideShow offers two addition ways of displaying images.  See SlideShow for 
  917. more information.  In no case however, are sliders ever used. 
  918.  
  919. The most important thing to remember when using JoeView is that the actual 
  920. resolution of the image (the width x height) is not always the same as that 
  921. which it is displayed with.  For example, let's say you are working on a system 
  922. that is limited to a display of 640 by 480 and you try and load an image that 
  923. is 2000 by 2000.  JoeView will resize the image to fit the screen when it 
  924. displays the image to you, but the data representing the image will stay at 
  925. 2000 by 2000.  Any operations (manipulations) that you perform on the image 
  926. will by done on the original image, the 2000 by 2000 one.  Now, let's say you 
  927. use the ReSize command to reduce the image to 640 by 480.  From as far as you 
  928. can tell, nothing will have changed.  This is because the image size is still 
  929. as big as the display can handle.  In reality you have changed the image size 
  930. and if you save the image it will be different than the one you originally 
  931. loaded.  The Image Information option on the main menu will keep you apprised 
  932. of the actual vs displayed resolution of the current image.  When you save a 
  933. file there is the option to save at the currently displayed size, the above 
  934. discussion is why that option exists. 
  935.  
  936.  
  937. ΓòÉΓòÉΓòÉ 3.2. Quick Dir ΓòÉΓòÉΓòÉ
  938.  
  939. An especially useful feature, the Quick Dir listbox is present in several 
  940. different dialogs: 
  941.  
  942. o File Open 
  943. o Slide Show 
  944. o File Save 
  945. o Options 
  946.  
  947. It is only in the Options dialog the Quick Dir listbox can be modified. Aside 
  948. from modifying the Quick Dir listbox, the Options dialog is not affected by it. 
  949. The format for an entry is to have a drive letter and full path 
  950.  
  951. For Example  c:\images\gif, there should not be any trailing slashes.  There is 
  952. a limit of 10 entries that will be remembered. Others will be ignored.  Unused 
  953. entries should consist of blanks. 
  954.  
  955. The basic use of the Quick Dir is to allow the user to quickly access 
  956. frequently used directories. The actual use of the Quick Dir listbox varies 
  957. somewhat depending on the dialog. In the File Open and Slide Show dialogs Quick 
  958. Dir is accessed by using the pull down on the listbox. Doing so will cause the 
  959. current directory and drive to change to that selected in Quick Dir. With the 
  960. File Save dialog, invoking Quick Dir is the same, but instead of actually 
  961. changing the drive and directory, just the entry in the name of the file to be 
  962. saved will be updated.  If you want to change directories in the File Save 
  963. dialog you will have to use the drive and directory listboxes. 
  964.  
  965.  
  966. ΓòÉΓòÉΓòÉ 4. File Formats ΓòÉΓòÉΓòÉ
  967.  
  968. A variety of file formats are supported.  See each individual one for more 
  969. info. 
  970.  
  971. You should be aware of some limitations when doing conversions between 
  972. different file formats or if you are constantly reading and saving the same 
  973. image over and over again (See JPEG).  When JoeView reads a file, no matter 
  974. what the original format, it is stored as an 8 bit image (256 colors max). This 
  975. means that if you read in a JPEG, TARGA, Sun Raster, or PPM image there exists 
  976. the possibility that the original file is made up of more than 256 colors and 
  977. so JoeView will reduce the colors down to 256.  So, if your goal is to convert 
  978. a 24 bit image stored in TARGA format to PPM there is a very good chance that 
  979. your image will suffer a loss in quality.  There are utilities available to do 
  980. true 24 bit conversions if you are really concerned.  Most likely the losses 
  981. will be quite small. 
  982.  
  983. Eight bit formats will not suffer any degradation. 
  984.  
  985.  
  986. ΓòÉΓòÉΓòÉ 4.1. JPEG ΓòÉΓòÉΓòÉ
  987.  
  988. The JPEG reading and writing code is based on the following people's work: 
  989.  
  990. The Independent JPEG Group's JPEG software
  991. ==========================================
  992.  
  993. This software is the work of Tom Lane, Philip Gladstone, Luis Ortiz,
  994. Lee Crocker, Ge' Weijers, and other members of the Independent JPEG Group.
  995.  
  996. LEGAL ISSUES
  997. ============
  998.  
  999. The authors make NO WARRANTY or representation, either express or implied,
  1000. with respect to this software, its quality, accuracy, merchantability, or
  1001. fitness for a particular purpose.  This software is provided "AS IS", and you,
  1002. its user, assume the entire risk as to its quality and accuracy.
  1003.  
  1004. This software is copyright (C) 1991, 1992, Thomas G. Lane.
  1005. All Rights Reserved except as specified below.
  1006.  
  1007. Permission is hereby granted to use, copy, modify, and distribute this
  1008. software (or portions thereof) for any purpose, without fee, subject to these
  1009. conditions:
  1010. (1) If any part of the source code for this software is distributed, then this
  1011. README file must be included, with this copyright and no-warranty notice
  1012. unaltered; and any additions, deletions, or changes to the original files
  1013. must be clearly indicated in accompanying documentation.
  1014. (2) If only executable code is distributed, then the accompanying
  1015. documentation must state that "this software is based in part on the work of
  1016. the Independent JPEG Group".
  1017. (3) Permission for use of this software is granted only if the user accepts
  1018. full responsibility for any undesirable consequences; the authors accept
  1019. NO LIABILITY for damages of any kind.
  1020.  
  1021. Permission is NOT granted for the use of any IJG author's name or company name
  1022. in advertising or publicity relating to this software or products derived from
  1023. it.  This software may be referred to only as "the Independent JPEG Group's
  1024. software".
  1025.  
  1026. We specifically permit and encourage the use of this software as the basis of
  1027. commercial products, provided that all warranty or liability claims are
  1028. assumed by the product vendor.
  1029. ==================
  1030.  
  1031. The following is pretty much stolen verbatim for the JPEG information that is 
  1032. supplied with the JPEG libraries. 
  1033.  
  1034. The Quality spin button lets you trade off compressed file size against the 
  1035. quality of the saved image: the higher the quality setting, the larger the JPEG 
  1036. file, and the closer the output image will be to the original input.  Normally 
  1037. you want to use the lowest quality setting (smallest file) that decompresses 
  1038. into something visually indistinguishable from the original image.  For this 
  1039. purpose the quality setting should be between 50 and 95; the default of 75 is 
  1040. often about right.  If you see defects at quality 75, then go up 5 or 10 counts 
  1041. at a time until you are happy with the output image.  (The optimal setting will 
  1042. vary from one image to another.) Quality 100 will generate a quantization table 
  1043. of all 1's, eliminating loss in the quantization step (but there is still 
  1044. information loss in subsampling, as well as roundoff error). This setting is 
  1045. mainly of interest for experimental purposes.  Quality values above about 95 
  1046. are NOT recommended for normal use; the compressed file size goes up 
  1047. dramatically for hardly any gain in output image quality. In the other 
  1048. direction, quality values below 50 will produce very small files of low image 
  1049. quality.  Settings around 5 to 10 might be useful in preparing an index of a 
  1050. large image library, for example.  Try quality 2 (or so) for some amusing 
  1051. Cubist effects.  (Note: quality values below about 25 generate 2-byte 
  1052. quantization tables, which are considered optional in the JPEG standard. Some 
  1053. commercial JPEG programs may be unable to decode the resulting file.) 
  1054.  
  1055. Smooth Factor: Smooth the input image to eliminate dithering noise.  The value 
  1056. selected, ranging from 1 to 100, indicates the strength of smoothing.  0 will 
  1057. mean to not use smoothing and can be used instead of the check button.  The 
  1058. Smooth option filters the currently displayed image to eliminate fine-scale 
  1059. noise. This is often useful when saving files as JPEG: a moderate smoothing 
  1060. factor of 10 to 50 gets rid of dithering patterns in the input file, resulting 
  1061. in a smaller JPEG file and a better-looking image.  Too large a smoothing 
  1062. factor will visibly blur the image, however. 
  1063.  
  1064. Optimization of entropy encoding parameters. Without this, default encoding 
  1065. parameters are used. Optimize usually makes the JPEG file a little smaller, but 
  1066. JoeView runs somewhat slower and needs much more memory.  Image quality and 
  1067. speed of decompression are unaffected by optimize. It's also a win when you are 
  1068. using low quality settings to make very small JPEG files; the percentage 
  1069. improvement is often a lot more than it is on larger files. 
  1070.  
  1071. When reading a JPEG, there are five mutually exclusive option that deals with 
  1072. quantization of the colors (converting from a 24 to 8 bit image).  Your options 
  1073. are: 
  1074.  
  1075. o Quick  The one pass color quantization.  The fastest of the color 
  1076.   quantizings, but probably will result in a noticeably inferior image.  Good 
  1077.   for a quick look. 
  1078.  
  1079. o Slow  This implements Heckbert's Median Cut algorithm.  The code is hacked 
  1080.   from XV by John Bradley of The University of Pennsylvania. Quality in line 
  1081.   with Best.  Very slow compared to the builtin JPEG quantizer.  For most jpegs 
  1082.   it will probably give only minor quality improvements. Make your own 
  1083.   judgment.  It is not part of the regular JPEG libraries. 
  1084.  
  1085. o Best  Floyd-Steinberg dithering is used.  Based on ppmquant.c by Jef 
  1086.   Poskanzer. 
  1087.  
  1088. o BuiltIn  Uses the JPEG libraries built in two pass quantizer.  Probably the 
  1089.   best to use overall.  Seems pretty fast. 
  1090.  
  1091. o Gray  Hands down the fastest way to look at a JPEG.  Results in gray colors 
  1092.   only, but good way to take a quick look. 
  1093.  
  1094.  
  1095. ΓòÉΓòÉΓòÉ 4.2. Bitmaps ΓòÉΓòÉΓòÉ
  1096.  
  1097. The two important types of bitmaps supported are Windows and OS2 style bitmaps. 
  1098. JoeView should read any of these type of bitmaps (RLE and non-RLE) with the 
  1099. following caveats: 
  1100.  
  1101. o Black and White images that are stored by using modified Huffman encoding 
  1102.   cannot be read. 
  1103.  
  1104. o OS2 allows the use of halftones and such.  JoeView does not read these but I 
  1105.   have never even seen one. 
  1106.  
  1107. o Should read 24 bit bitmaps OK. 
  1108.  
  1109. Bitmaps can be saved in either RLE on uncompressed format.  The RLE encoding 
  1110. scheme is fairly brain dead and will actually increase the size of the file for 
  1111. "real life" images with more than 16 colors.  JoeView does some comparing and 
  1112. will minimize the file size to its best ability so you should only see slight 
  1113. increases in file size but then again you may see a significant decrease.  You 
  1114. pay your money and you takes your chances. 
  1115.  
  1116.  
  1117. ΓòÉΓòÉΓòÉ 4.3. GIF ΓòÉΓòÉΓòÉ
  1118.  
  1119. Does em'. 
  1120.  
  1121. JoeView will read both GIF87a and GIF89a formats but will write only GIF87a 
  1122. format. If a mulit-image gif file is encountered you will have the option of 
  1123. breaking the images apart and creating a sequence of OS2 bitmaps from them or 
  1124. just reading the first image. 
  1125.  
  1126. "The Graphics Interchange Format(c) is the Copyright property of
  1127. CompuServe Incorporated.  GIF(sm) is a Service Mark property of
  1128. CompuServe Incorporated."
  1129.  
  1130.  
  1131. ΓòÉΓòÉΓòÉ 4.4. TARGA ΓòÉΓòÉΓòÉ
  1132.  
  1133. The code to read Targa images is based on tgatoppm.c by Jef Poskanzer.  This is 
  1134. the copyright stuff from that file. 
  1135.  
  1136. /* tgatoppm.c - read a TrueVision Targa file and write a portable pixmap
  1137. **
  1138. ** Partially based on tga2rast, version 1.0, by Ian MacPhedran.
  1139. **
  1140. ** Copyright (C) 1989 by Jef Poskanzer.
  1141. **
  1142. ** Permission to use, copy, modify, and distribute this software and its
  1143. ** documentation for any purpose and without fee is hereby granted, provided
  1144. ** that the above copyright notice appear in all copies and that both that
  1145. ** copyright notice and this permission notice appear in supporting
  1146. ** documentation.  This software is provided "as is" without express or
  1147. ** implied warranty.
  1148.  
  1149. JoeView does both RLE and non-RLE style files.  BTW, I have significantly 
  1150. changed the code, hopefully for the better. 
  1151.  
  1152.  
  1153. ΓòÉΓòÉΓòÉ 4.5. PBM ΓòÉΓòÉΓòÉ
  1154.  
  1155. The code for reading and writing PBM files used to be based on code from XV.  I 
  1156. have since redone the code enough to believe that it is no longer a use of that 
  1157. code.  I have retained  the following is copyright information from XV just to 
  1158. be sure. 
  1159.  
  1160.  
  1161.  * Copyright 1989, 1990, 1991, 1992 by John Bradley and
  1162.  *            The University of Pennsylvania
  1163.  *
  1164.  * Permission to use, copy, and distribute for non-commercial purposes,
  1165.  * is hereby granted without fee, providing that the above copyright
  1166.  * notice appear in all copies and that both the copyright notice and this
  1167.  * permission notice appear in supporting documentation.
  1168.  *
  1169.  * The software may be modified for your own purposes, but modified versions
  1170.  * may not be distributed.
  1171.  *
  1172.  * This software is provided "as is" without any expressed or implied warranty.
  1173.  *
  1174.  * The author may be contacted via:
  1175.  *   US Mail:  John Bradley
  1176.  *        GRASP Lab, Room 301C
  1177.  *        3401 Walnut St.
  1178.  *        Philadelphia, PA  19104
  1179.  *
  1180.  *   Phone:   (215) 898-8813
  1181.  *   EMail:   bradley@cis.upenn.edu
  1182.  *
  1183.  
  1184. JoeView uses the term PBM loosely, there are really three (or six) different 
  1185. types of formats here.  They are: 
  1186.  
  1187.              PGM - portable graymap file format
  1188.  
  1189.    The portable graymap format is a lowest common denominator grayscale file
  1190.    format.  The definition is as follows:
  1191.  
  1192.    - A "magic number" for identifying the file type.  A  pgm  file's  magic
  1193.     number is the two characters "P2".
  1194.  
  1195.    - Whitespace (blanks, TABs, CRs, LFs).
  1196.  
  1197.    - A width, formatted as ASCII characters in decimal.
  1198.  
  1199.    - Whitespace.
  1200.  
  1201.    - A height, again in ASCII decimal.
  1202.  
  1203.    - Whitespace.
  1204.  
  1205.    - The maximum gray value, again in ASCII decimal.
  1206.  
  1207.    - Whitespace.
  1208.  
  1209.    - Width * height gray values, each in ASCII decimal, between  0  and  the
  1210.     specified  maximum value, separated by whitespace, starting at the top-
  1211.     left corner of the graymap, proceding in normal English reading  order.
  1212.     A value of 0 means black, and the maximum value means white.
  1213.  
  1214.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1215.  
  1216.    - No line should be longer than 70 characters.
  1217.  
  1218.    Here is an example of a small graymap in this format:
  1219.    P2
  1220.    # feep.pgm
  1221.    24 7
  1222.    15
  1223.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  1224.    0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
  1225.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
  1226.    0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
  1227.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
  1228.    0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
  1229.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  1230.  
  1231.  
  1232.    There is also a variant on the format, the RAW style.
  1233.    This variant is different in the following ways:
  1234.  
  1235.    - The "magic number" is "P5" instead of "P2".
  1236.  
  1237.    - The gray values are stored as plain bytes, instead of ASCII decimal.
  1238.  
  1239.    - No whitespace is allowed in  the  grays  section,  and  only  a  single
  1240.     character  of  whitespace  (typically  a  newline) is allowed after the
  1241.     maxval.
  1242.  
  1243.    - The files are smaller and many times faster to read and write.
  1244.  
  1245.    Note that this raw format can only be used for maxvals less than or equal
  1246.    to 255.
  1247.  
  1248.           PBM - portable bitmap file format
  1249.  
  1250.    The portable bitmap format is a lowest common denominator monochrome file
  1251.    format.  It was originally designed to make it reasonable to mail bitmaps
  1252.    between different types of machines  using  the  typical  stupid  network
  1253.    mailers  we  have today.  Now it serves as the common language of a large
  1254.    family of bitmap conversion filters.  The definition is as follows:
  1255.  
  1256.    - A "magic number" for identifying the file type.  A  pbm  file's  magic
  1257.     number is the two characters "P1".
  1258.  
  1259.    - Whitespace (blanks, TABs, CRs, LFs).
  1260.  
  1261.    - A width, formatted as ASCII characters in decimal.
  1262.  
  1263.    - Whitespace.
  1264.  
  1265.    - A height, again in ASCII decimal.
  1266.  
  1267.    - Whitespace.
  1268.  
  1269.    - Width * height bits, each either '1' or '0', starting at  the  top-left
  1270.     corner of the bitmap, proceding in normal English reading order.
  1271.  
  1272.    - The character '1' means black, '0' means white.
  1273.  
  1274.    - Whitespace in the bits section is ignored.
  1275.  
  1276.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1277.  
  1278.    - No line should be longer than 70 characters.
  1279.  
  1280.    Here is an example of a small bitmap in this format:
  1281.    P1
  1282.    # feep.pbm
  1283.    24 7
  1284.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1285.    0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
  1286.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
  1287.    0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
  1288.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
  1289.    0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
  1290.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1291.  
  1292.  
  1293.    There is also a variant on the format, the RAW style.
  1294.    This variant is different in the following ways:
  1295.  
  1296.    - The "magic number" is "P4" instead of "P1".
  1297.  
  1298.    - The bits are stored eight per byte, high bit first low bit last.
  1299.  
  1300.    - No whitespace is allowed  in  the  bits  section,  and  only  a  single
  1301.     character  of  whitespace  (typically  a  newline) is allowed after the
  1302.     height.
  1303.  
  1304.    - The files are eight times smaller and many times  faster  to  read  and
  1305.     write.
  1306.  
  1307.               PPM - portable pixmap file format
  1308.  
  1309.    The portable pixmap format is a lowest  common  denominator  color  image
  1310.    file format.  The definition is as follows:
  1311.  
  1312.    - A "magic number" for identifying the file type.  A  ppm  file's  magic
  1313.     number is the two characters "P3".
  1314.  
  1315.    - Whitespace (blanks, TABs, CRs, LFs).
  1316.  
  1317.    - A width, formatted as ASCII characters in decimal.
  1318.  
  1319.    - Whitespace.
  1320.  
  1321.    - A height, again in ASCII decimal.
  1322.  
  1323.    - Whitespace.
  1324.  
  1325.    - The maximum color-component value, again in ASCII decimal.
  1326.  
  1327.    - Whitespace.
  1328.  
  1329.    - Width * height pixels, each three ASCII decimal values  between  0  and
  1330.     the  specified  maximum  value,  starting at the top-left corner of the
  1331.     pixmap, proceding in normal English reading order.  The  three  values
  1332.     for each pixel represent red, green, and blue, respectively; a value of
  1333.     0 means that color is off, and the maximum value means  that  color  is
  1334.     maxxed out.
  1335.  
  1336.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1337.  
  1338.    - No line should be longer than 70 characters.
  1339.  
  1340.    Here is an example of a small pixmap in this format:
  1341.    P3
  1342.    # feep.ppm
  1343.    4 4
  1344.    15
  1345.    0  0  0   0  0  0   0  0  0  15  0 15
  1346.    0  0  0   0 15  7   0  0  0   0  0  0
  1347.    0  0  0   0  0  0   0 15  7   0  0  0
  1348.    15  0 15   0  0  0   0  0  0   0  0  0
  1349.  
  1350.    There is also a variant on the format, the RAW style.
  1351.    This variant is different in the following ways:
  1352.  
  1353.    - The "magic number" is "P6" instead of "P3".
  1354.  
  1355.    - The pixel values are stored as plain bytes, instead of ASCII decimal.
  1356.  
  1357.    - Whitespace is not allowed  in  the  pixels  area,  and  only  a  single
  1358.     character  of  whitespace  (typically  a  newline) is allowed after the
  1359.     maxval.
  1360.  
  1361.    - The files are smaller and many times faster to read and write.
  1362.  
  1363.    Note that this raw format can only be used for maxvals less than or equal
  1364.    to 255.
  1365.  
  1366.    The above three descriptions are very slightly altered versions of descriptions
  1367.    originally written and Copyrighted (C) 1989, 1991 by Jef Poskanzer.
  1368.  
  1369. So, if you need to input a file format that JoeView does not support, here is 
  1370. your chance if you know the format of the data you already have.  Convert the 
  1371. data into the appropriate ASCII format style above.  It is probably simplest 
  1372. just to use the ppm format and let JoeView convert it down into the appropriate 
  1373. number of colors. 
  1374.  
  1375.  
  1376. ΓòÉΓòÉΓòÉ 4.6. X11 Bitmap ΓòÉΓòÉΓòÉ
  1377.  
  1378. The code for reading and writing X11 bitmaps was hacked from XV, see the PBM 
  1379. section for copyright info. 
  1380.  
  1381.  
  1382. ΓòÉΓòÉΓòÉ 4.7. Sun Raster ΓòÉΓòÉΓòÉ
  1383.  
  1384. The code for reading and writing Sun Raster files was stolen from XV, see the 
  1385. PBM  section for copyright info.  This particular code from XV was written by 
  1386. Dave Heath (heath@cs.jhu.edu) with additions by Ken Rossman 
  1387. (ken@shibuya.cc.columbia.edu). 
  1388.  
  1389.  
  1390. ΓòÉΓòÉΓòÉ 4.8. PCX ΓòÉΓòÉΓòÉ
  1391.  
  1392. The code for reading and writing PCX files is taken from Michael Davidson.  I 
  1393. have made significant changes, including the ability to handle 24 bit images. 
  1394. This should handle up to version 5 PCX. 
  1395.  
  1396.  
  1397. ΓòÉΓòÉΓòÉ 4.9. TIFF ΓòÉΓòÉΓòÉ
  1398.  
  1399. The code for reading and writting TIFFs is based on code written by Sam 
  1400. Leffler.  Here is his copyright notice. 
  1401.  
  1402. /*
  1403.  * Copyright (c) 1991, 1992 Sam Leffler
  1404.  * Copyright (c) 1991, 1992 Silicon Graphics, Inc.
  1405.  *
  1406.  * Permission to use, copy, modify, distribute, and sell this software and
  1407.  * its documentation for any purpose is hereby granted without fee, provided
  1408.  * that (i) the above copyright notices and this permission notice appear in
  1409.  * all copies of the software and related documentation, and (ii) the names of
  1410.  * Sam Leffler and Silicon Graphics may not be used in any advertising or
  1411.  * publicity relating to the software without the specific, prior written
  1412.  * permission of Sam Leffler and Silicon Graphics.
  1413.  *
  1414.  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
  1415.  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
  1416.  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1417.  *
  1418.  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  1419.  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  1420.  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  1421.  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
  1422.  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  1423.  * OF THIS SOFTWARE.
  1424.  */
  1425.  
  1426. When you save a TIFF file, there are five choices for the type of TIFF file to 
  1427. stored.  Not exactly sure what each of the types is except that the FAX choices 
  1428. will be reduced to black and white images first. 
  1429.  
  1430. Understand that the TIFF spec is disgustingly huge and I will not even begin to 
  1431. think about getting in to it in detail.  If your TIFF files are not displaying 
  1432. correctly, well tough tiff, it is beyond my capabilities to go in and mess with 
  1433. the library supplied by Sam Leffler. 
  1434.  
  1435.  
  1436. ΓòÉΓòÉΓòÉ 4.10. Utah RLE ΓòÉΓòÉΓòÉ
  1437.  
  1438. JoeView only reads Utah RLE files, it will not write them.  The code for 
  1439. reading Utah RLE files is based on code from XV, see the PBM section for 
  1440. copyright info. 
  1441.  
  1442.  
  1443. ΓòÉΓòÉΓòÉ 4.11. MetaFiles ΓòÉΓòÉΓòÉ
  1444.  
  1445. JoeView will only read MetaFiles, it will not write them.  Meta files are 
  1446. actually a series of drawing commands and so you can imagine how big a file 
  1447. would be if every command was to draw a single point at some color.  JoeView 
  1448. will size the MetaFile to display onto the screen and then create a raster 
  1449. version of it.  Right now you cannot stop a MetaFile from playing once it has 
  1450. started. 
  1451.  
  1452.  
  1453. ΓòÉΓòÉΓòÉ 4.12. Slide Show Files ΓòÉΓòÉΓòÉ
  1454.  
  1455. JoeView can store a selection of files for use in a Slide Show.  These 
  1456. typically are given and extension of sls.  You can load these files using the 
  1457. Slide Show Dialog or the regular File Open Dialog.  In addition, you can drag 
  1458. and drop  such a file onto JoeView. 
  1459.  
  1460. As of version 1.22, the files created will contain the slide show settings in 
  1461. effect when the file was created. 
  1462.  
  1463.  
  1464. ΓòÉΓòÉΓòÉ 5. Key Help ΓòÉΓòÉΓòÉ
  1465.  
  1466. There are keyboard equivalents to many of the pull down menu commands.  Most 
  1467. are single character commands and will be shown on the menu underlined.  They 
  1468. are only valid when the main window is active.  They are: 
  1469.  
  1470. Ctrl+O or O  Open a file 
  1471.  
  1472. S  Save a file 
  1473.  
  1474. Z  Zoom in or out 
  1475.  
  1476. B  Brighten Image 
  1477.  
  1478. D  Darken Image 
  1479.  
  1480. G  Grayscale image 
  1481.  
  1482. C  Crop the image 
  1483.  
  1484. A  Auto crop the image using Average parameter 
  1485.  
  1486. I  Image information window 
  1487.  
  1488. Ctrl+I Iconfy the file 
  1489.  
  1490. H  Help table of contents 
  1491.  
  1492. K  This window 
  1493.  
  1494. M  Move the window using arrow keys, good in No TitleBar mode 
  1495.  
  1496. N  Next image when in slide show mode 
  1497.  
  1498. Ctrl+N  Open File dialog next image 
  1499.  
  1500. Ctrl+P  Open File dialog previous image 
  1501.  
  1502. Alt+P Print Image 
  1503.  
  1504. + Increase image size by 10% 
  1505.  
  1506. - Decrease image size by 10% 
  1507.  
  1508. R  Refresh image 
  1509.  
  1510. T Toggle Title Bar on and off 
  1511.  
  1512. Ctrl+R Rotate image Clockwise 
  1513.  
  1514. Alt+R Rotate image CounterClockwise 
  1515.  
  1516. Ctrl+F Flip image Vertically 
  1517.  
  1518. Alt+F Flip image Horizontally 
  1519.  
  1520. Alt+O  Options Dialog 
  1521.  
  1522. Ctrl+S  Slide Show Dialog 
  1523.  
  1524. Space Bar  Minimize JoeView (someone's coming) 
  1525.  
  1526. Alt+C  Main Colors manipulations dialog 
  1527.  
  1528. Aggessive Palette can be toggled using Alt+A.  There will be a beep. 
  1529.  
  1530. Alt+F4  Quit 
  1531.  
  1532. Number keys 2 - 4 will size the image by that number.  2 doubles, etc... 
  1533.  
  1534. Shift Number keys 2 - 4 will divide image size by that number.  2 halves, 
  1535. etc... 
  1536.  
  1537. The Open File dialog has the following keyboard equivalents, they are active 
  1538. only when the Open File dialog is active.  They are: 
  1539.  
  1540. Ctrl+N Show next image 
  1541.  
  1542. Ctrl+P Show previous image 
  1543.  
  1544. Space Bar Minimize JoeView 
  1545.  
  1546.  
  1547. ΓòÉΓòÉΓòÉ 6. A Few Thanks ΓòÉΓòÉΓòÉ
  1548.  
  1549. The following people were kind enough to answer questions I posted to the net. 
  1550. The few minutes they took to respond to my questions saved me untold days of 
  1551. fruitless searching through .inf files.  I hope these words make a contribution 
  1552. towards their 15 minutes of fame. 
  1553.  
  1554. o Keith Murray 
  1555.  
  1556. o Jeroen Hoppenbrouwers 
  1557.  
  1558. o Gene Mangum 
  1559.  
  1560. o Roman Fischer 
  1561.  
  1562. o Anders Bjurman 
  1563.  
  1564. This is of course in addition to the people who have made their source code 
  1565. available for use by others.  This would be the JPEG, PBM, and XV authors who 
  1566. are listed in the respective file formats sections. 
  1567.  
  1568. The following people have made significant suggestions for improvement of 
  1569. JoeView and/or pointed out bugs.  You may have made suggestions or comments but 
  1570. are not listed here.  Typically I caught the bug before you notified me or 
  1571. something along those lines.  If you really want on this list, SEND MONEY. 
  1572.  
  1573. o Dan, Dick, Tom, Chance Glazing Donuts instead of working. 
  1574.  
  1575. o Steve M. Lacy Creation of FS Dithered bitmaps for wallpaper use. 
  1576.  
  1577. o Scott Hiles Create Slide Show files, Toggle Title Bar, Drag Drop Slide Show 
  1578.   Files 
  1579.  
  1580. o Rob Eitzen Can't access A/B drives, bug fix 
  1581.  
  1582. o Scott Harper Found lots of little bugs, good style criticisms, bitmap file 
  1583.   problems, ghost cropping rectangle (fix) 
  1584.  
  1585. o Reinhard Meyer Found truly obscure bugs, other suggestions 
  1586.  
  1587.  
  1588. ΓòÉΓòÉΓòÉ 7. <-Registering JoeView-> ΓòÉΓòÉΓòÉ
  1589.  
  1590. You are required to register JoeView if you wish to use it after an evaluation 
  1591. period of 20 uses.  This means that you can start the JoeView program a total 
  1592. of 20 times, after which you are obligated to register it.  There is no time 
  1593. constraint for this.  To register JoeView you (the user) send me (the author) 
  1594. money, gold, chinese food, Claudia Schiffer's home phone number, or any 
  1595. combination of these items. I (me) then send you (you) one of two passwords. 
  1596. The password is according to this scale: 
  1597.  
  1598. o You send me less than $27.82 (US money bub) and I will give you a password 
  1599.   that will work on all 1.22 versions of JoeView - this means all bug fixes, 
  1600.   etc. 
  1601.  
  1602. o You send me more than $27.82 (also US dinero) and I will give you a password 
  1603.   that will work on JoeView 1.22 and I will forward new passwords to you as 
  1604.   needed, free of charge for all future versions. This assumes that demand is 
  1605.   great enough to warrant me writing the next version of JoeView - next big 
  1606.   thing is 24 bit display. 
  1607.  
  1608. Now you bright types notice I didn't say what happens when you send me exactly 
  1609. $27.82.  Well, do ya feel lucky PUNK, just try it and see. 
  1610.  
  1611. The above is for a single user.  The agreement is (in theory) that you can 
  1612. create as many passworded versions of JoeView as you wish, but only one of 
  1613. these copies can be in use at any given time (this is the book description used 
  1614. by Borland and others). 
  1615.  
  1616. Any company or government use of JoeView will follow the below registration 
  1617. costs: 
  1618.  
  1619. o Groups registration of 4 or less people: 
  1620.  
  1621.    - For 1.22 version only $20 US for each person. 
  1622.  
  1623.    - For lifetime password $30 US for each person. 
  1624.  
  1625. o Group registration of 5 to 10 people: 
  1626.  
  1627.    - For 1.22 version only $50 + $10 US per person (5 people = $100, 6 = $110, 
  1628.      etc) 
  1629.  
  1630.    - For lifetime password $100 + $11 US per person 
  1631.  
  1632. o Site license: 
  1633.  
  1634.    - 1.22 version only $279. 
  1635.  
  1636.    - Lifetime password on an individually negotiated basis. 
  1637.  Payment can take the form of cash or check, send it to: 
  1638.  
  1639. Crunch Products 
  1640. P.O. Box 370353 
  1641. San Diego, CA 92137-0353 
  1642.  
  1643. The checks can be made out to Joe Burkley or Crunch Products. 
  1644.  
  1645. Have an interesting idea for a new program?  Let's talk, I'm always interested 
  1646. in considering new ideas. Contact me at the above address and we can talk. 
  1647.  
  1648.  
  1649. ΓòÉΓòÉΓòÉ 8. Drag and Drop ΓòÉΓòÉΓòÉ
  1650.  
  1651. JoeView supports the dragging and dropping of an image file or slideshow file 
  1652. onto either the JoeView Icon or onto a running version of JoeView.  JoeView 
  1653. will not accept drag and drop operations while a Slide Show is running or while 
  1654. a file is currently being read.  If you drag and drop multiple files at one 
  1655. time, the files will be loaded into a slide show and started with whatever 
  1656. defaults are currently selected as slide show options. 
  1657.  
  1658.  
  1659. ΓòÉΓòÉΓòÉ 9. Command Line ΓòÉΓòÉΓòÉ
  1660.  
  1661. There are two possible command line options.  You can specify a file name for 
  1662. JoeView to load upon startup. 
  1663.  
  1664. For example:  joeview c:\gifs\hooters.gif 
  1665.  
  1666. The other command line option is to create a Floyd Steinberg Dithered bitmap. 
  1667. The main purpose of this option is so that you can create background images for 
  1668. your desktop or lockup screens.  When you received this copy of JoeView, one of 
  1669. the files included should have been a REXX script to randomly generate 
  1670. background images using this command line option.  The format of the command is 
  1671.  
  1672. joeview -b input_file output_file or joeview -bs input_file output_file.  You 
  1673. should specify drives and paths for the input and output files.  The input file 
  1674. can be in any file format the JoeView normally reads.  The output file will 
  1675. always be an OS2 2.0 format bitmap.  The "-b" option causes JoeView to perform 
  1676. the dithering at full CPU utilization.  As the process is very CPU intensive, 
  1677. the "-bs" option is included.  This option is meant to mean -b slow.  Basically 
  1678. it puts JoeView in a low priority mode that causes the operation to take 
  1679. considerably longer than if you use "-b" but you'll find that your machine is 
  1680. much more useful while the process is running. JoeView will not be visible when 
  1681. this option is invoked. 
  1682.  
  1683. The idea of using FS Dithering to create background bitmaps was originally 
  1684. proposed by Steve M. Lacy. 
  1685.  
  1686.  
  1687. ΓòÉΓòÉΓòÉ 10. Blue Screen ΓòÉΓòÉΓòÉ
  1688.  
  1689. If'n your startup image in JoeView is a blue screen, your JoeView.ini file has 
  1690. been corrupted.  Delete it and JoeView will create another. 
  1691.  
  1692.  
  1693. ΓòÉΓòÉΓòÉ 11. Thread Priorities ΓòÉΓòÉΓòÉ
  1694.  
  1695. OS2 has (for all practical purposes) 2 levels of thread priority, low(idle) and 
  1696. regular.  There seems to be a limit on the number of low priority threads that 
  1697. can be active at once.  Many applications (CPU meters, clocks, etc.) use low 
  1698. priority threads.  Along comes JoeView and it wants to use one.  Well OS2 will 
  1699. give JoeView a low priority thread, but OS2 doesn't want to devote any CPU 
  1700. cycles to that thread.  The net effect is that nothing happens as far as 
  1701. JoeView processing is concerned.  Another possibility is that Dos Boxes and 
  1702. certain other OS2 programs will cause OS2 to not give any CPU time to low 
  1703. priority threads.  If you have many applications running (or Dos programs) and 
  1704. you try something with JoeView and nothing seems to happen, try regular 
  1705. priority threads instead.  Most of the time with JoeView you can use a check 
  1706. box to specify whether a command should occur at low or regular priority or you 
  1707. can use a menu selection to alter the priority.  Some commands might start out 
  1708. at low priority.  These commands can be upgraded to regular priority by using a 
  1709. menu command.  I think I have changed all commands to start out at regular 
  1710. priority, but earlier version of JoeView were not this way and I may have 
  1711. missed some. 
  1712.  
  1713. For saving of files, I have brazenly stolen an idea I saw mentioned in pmview, 
  1714. which is to bump the priority of these threads if JoeView doesn't detect 
  1715. activity for 3 seconds.  This only occurs for saving.  SlideShows, File Reads, 
  1716. dithering, etc. priorities can be changed while the command is running so I 
  1717. leave it up to you to decide how you want them to go. 
  1718.  
  1719. BTW, one way to see this type of activity is to have a file read occuring at 
  1720. low priority and while it is reading open or make active an application that 
  1721. runs in a Dos Box.  Or run the SlideShow in low priority and open a Dos 
  1722. program. 
  1723.  
  1724.  
  1725. ΓòÉΓòÉΓòÉ 12. Installation & Setup ΓòÉΓòÉΓòÉ
  1726.  
  1727. You should have seen this in the readme file included with your distribution of 
  1728. JoeView. 
  1729.  
  1730. I have used the philosophy that JoeView will impact your OS2 system with as 
  1731. little change as possible so that if you ever decide to  get rid of JoeView, 
  1732. perish the thought, all you will need to do is delete the files in one 
  1733. directory. 
  1734.  
  1735. JoeView can be used as you got it without any system (config.sys) 
  1736. modifications. For best results you should put the JoeView files in a directory 
  1737. that is included in your path statement.  JoeView does sometimes create 
  1738. temporary files and because of this it looks to see if you have either a TMP or 
  1739. TEMP environental variable set in your config.sys.  Lots of application use 
  1740. these so you probably have them defined.  If not, you can add one by entering 
  1741. SET TMP=c:\os2\tmp or whatever directory you want your temp files stored in. 
  1742. This keeps your system nice and clean so that you don't get random files 
  1743. popping up all over the place. 
  1744.  
  1745. The last installation option is of most importance to people working in a 
  1746. network environment.  You can put an environment variable called JOEVIEWINI 
  1747. that points to a drive and directory where you want the JoeView.ini file to be. 
  1748. This is also the place where the palette file (described below) and other 
  1749. JoeView (permanent) files will be placed.  If this variable is not present in 
  1750. your config.sys, these files get placed in the same directory as JoeView.exe is 
  1751. located.  The main benefit of this option is that people running on a network 
  1752. can have one of JoeView (exe and help) located on a common drive with each 
  1753. personal .ini files on each person's machine.  In your config.sys this would 
  1754. look like SET JOEVIEWINI=C:\IMAGES. 
  1755.  
  1756. Thats about the only change to your system that you can make regarding JoeView. 
  1757.  
  1758. When you run JoeView the first time, two files will be created.  The first is 
  1759. joeview.ini which contains information about your current configuration of 
  1760. JoeView.  The second file is joeview.pal which contains the colors used in your 
  1761. default system setup.  The pal file is important when you are converting images 
  1762. to use the system colors.  When you run JoeView for the first time (and create 
  1763. the pal file) you should have your system setup color-wise in the way you will 
  1764. be using it.  This means that no other palette changing programs should be 
  1765. running at the time. 
  1766.  
  1767. Other files included with JoeView are the help file and several script and REXX 
  1768. example files.  In addition, certain functions may create files. These will 
  1769. always have a name similar to JoeView. 
  1770.  
  1771.  
  1772. ΓòÉΓòÉΓòÉ 13. Copyright ΓòÉΓòÉΓòÉ
  1773.  
  1774. The author makes NO WARRANTY or representation, either expressed or implied, 
  1775. with respect to JoeView, its quality, accuracy, merchantability, or fitness for 
  1776. a particular purpose.  This software is provided "AS IS", and you, its user, 
  1777. assume the entire risk as to its quality and accuracy. 
  1778.  
  1779. This software is copyright (C) 1992, 1993, V. Joseph Burkley. All Rights 
  1780. Reserved except as specified below. 
  1781.  
  1782. Permission is hereby granted to use, copy, and distribute this software (or 
  1783. portions thereof) for any purpose, without fee, subject to these conditions: 
  1784.  
  1785. (1) The three files, joeview.exe, joeview.hlp and the accompanying readme 
  1786. (readme.jvw) files must always be included during distribution.  Any 
  1787. alterations to the files must be clearly documented.  No changes may  be made 
  1788. to the About screen or any of the copyright information. 
  1789.  
  1790. (2) Permission for use of this software is granted only if the user accepts 
  1791. full responsibility for any undesirable consequences; the author accepts NO 
  1792. LIABILITY for damages of any kind. 
  1793.  
  1794. (3)Permission is NOT granted for the use of the author's name or company name 
  1795. in advertising or publicity relating to this software or products derived from 
  1796. it. 
  1797.  
  1798. (4)Users are granted permission to collect fees for the distribution of 
  1799. JoeView, (such as BBS's that have a membership fee or a downloading charge, or 
  1800. FTP sites that sell cdrom versions of their archives) but users are 
  1801. specifically prohibited from selling JoeView as a product or bundling JoeView 
  1802. with other products that are then sold.  It may be given away for free. 
  1803.  
  1804. I encourage the free or at cost distribution of JoeView. 
  1805.  
  1806.  
  1807. ΓòÉΓòÉΓòÉ 14. Scripts & REXX ΓòÉΓòÉΓòÉ
  1808.  
  1809.  Any script file or REXX program can be loaded like a normal file.  Either 
  1810.  command line, drag and drop, or using the JoeView open file dialog.  The 
  1811.  script file must begin with the line 
  1812.  
  1813.  JoeScript 
  1814.  
  1815.  and no blank lines should exist.  For a REXX file, the first line of the file 
  1816.  must begin with the /* sequence.  For all commands (except the first line in a 
  1817.  script file) the command will be converted to lower case.  Optional arguments 
  1818.  will not be case adjusted so you should treat them with care.  For example, if 
  1819.  your script or REXX file has the line going to JoeView as: 
  1820.  
  1821.  Print Hello 
  1822.  
  1823.  JoeView would receive a line like: 
  1824.  
  1825.  print Hello 
  1826.  
  1827.  Play it safe and keep all commands as lower case.  Type all arguments to be 
  1828.  exactly as you would like them.  I did all this so that JoeView will work with 
  1829.  Unix type file systems where case does make a difference in file names. 
  1830.  
  1831.  Except for the print command, all passed numerical arguments need to be 
  1832.  integers (no decimal points).  Remember integers! 
  1833.  
  1834.  Initial Settings: The following are the defaults, regardless of what you have 
  1835.  set in the JoeView options. 
  1836.  
  1837.  o Save at displayed size is off. 
  1838.  o When saving, image is saved in full color. 
  1839.  o Priorities are set to regular. 
  1840.  o Iconify on file save is set to off. 
  1841.  o Display using system palette is off. 
  1842.  o Display using aggressive palette is off. 
  1843.  
  1844.  otherwise, whatever defaults you have set in the options part of JoeView are 
  1845.  used.  You can overide most of these settings by using script/REXX commands. 
  1846.  
  1847.  The commands that are unique to JoeView Script files are: 
  1848.  
  1849.  o open_start and open_finish These two commands bracket groups of files that 
  1850.    are to be operated on.  It doesn't matter if the number of files is 1 or 
  1851.    1000, the names must be between the brackets with each name on its own line. 
  1852.    Wild cards are allowed and drives and paths should be included.  For 
  1853.    example: 
  1854.  
  1855.       open_start 
  1856.       c:\images\*.gif 
  1857.       c:\stuff\*.jpg 
  1858.       c:\thisfile.bmp 
  1859.       open_finish 
  1860.  
  1861.  would set up for processing all the gifs in c:\images, all the jpg files in 
  1862.  c:\stuff and file c:\thisfile.bmp. This has loaded in a list of filenames. 
  1863.  These file en mass will only be affected by commands which are listed between 
  1864.  the begin & end statements. 
  1865.  
  1866.  o begin and end Any command can appear on a line, but if you want to do 
  1867.    operations on groups of files, the commands must be listed between begin and 
  1868.    end statements.  For example, if you had previously loaded in a group of gif 
  1869.    file names, then: 
  1870.  
  1871.       begin 
  1872.       grayscale 
  1873.       end 
  1874.  
  1875.  would load a file, convert it to grayscale (no save) and then load in the next 
  1876.  file until all files had been processed.  The number of commands between the 
  1877.  begin and end statements is (realistically) unlimited.  Each command must be 
  1878.  on its own line without any blank lines. 
  1879.  
  1880.  o run_commands This command tells JoeView to begin using the commands defined 
  1881.    previously by use of the begin & end statements.  The commands will be run 
  1882.    on all files that were loaded using the open_start and open_finish commands. 
  1883.  
  1884.  The commands that are unique to REXX files are: 
  1885.  
  1886.  o get_info This is used to query JoeView about the current state of the image 
  1887.    and the JoeView window.  The RC variable that JoeView returns to the REXX 
  1888.    program will be a string with the format of: 
  1889.  
  1890.    Image Width, Image Height, number of colors, X Position of the frame window, 
  1891.    Y Position of the frame window, Width of the frame window, Height of the 
  1892.    frame window 
  1893.  
  1894.    The actual data is not separated by commas and would look something like: 
  1895.  
  1896.    300 456 200 310 466 10 50 
  1897.  
  1898.    The origin of the screen occurs at the lower left corner and is 0, 0.  The 
  1899.    position of the frame window is relative to this coordinate.  To receive 
  1900.    this information in the REXX program you would execute the get_info command 
  1901.    and then use: 
  1902.  
  1903.    PARSE VAR rc wide high colors position_x position_y window_width 
  1904.    window_height 
  1905.  
  1906.    RC(rc) is the variable REXX uses for passing info back and forth to JoeView. 
  1907.    You can use any variable names you like inplace of the ones in this example. 
  1908.  
  1909.  o get_filename  Used in a simlar way to get_info, this will return the image's 
  1910.    filename in the rc variable. 
  1911.  
  1912.  The following commands can be used by either a JoeView script or by a REXX 
  1913.  program.  Their execution is the same for both. 
  1914.  
  1915.  brighten number 
  1916.     Also darken number. Brighten or darken image by specified amount.  number 
  1917.     can be from 0-255 and must be in integer form. 
  1918.  
  1919.  bw_dither 
  1920.     Dither the image to black and white. 
  1921.  
  1922.  crop left bottom right top 
  1923.     Crop the image to the specified coordinates.  These are the "real" image 
  1924.     coordinates, not the displayed coordinates.  0,0 would be the lower left 
  1925.     corner of the image. 
  1926.  
  1927.  crop_regular 
  1928.     Aslo crop_average, crop_loose, crop_strict. Do autocropping. 
  1929.  
  1930.  crop_custom number 
  1931.     Do autocropping with the specified cropping value.  number must be an 
  1932.     integer. 
  1933.  
  1934.  exit 
  1935.     This must exist outside of the begin & end pair of a Script file.  It 
  1936.     functions just like stop, except JoeView will terminate instead of 
  1937.     returning control to the user like stop does. 
  1938.  
  1939.  flip_vertical 
  1940.     Also flip_horizontal.  Flip image along the appropriate axis. 
  1941.  
  1942.  fixed_window_on & fixed_window_off 
  1943.     Display window will have or not have to stay at a fixed size turned on. 
  1944.  
  1945.  grayscale 
  1946.     Converts image to grayscale. 
  1947.  
  1948.  iconify & uniconify 
  1949.     Iconify the current image into whatever is the current file name.  Or, with 
  1950.     uniconify, delete the icon information from the file. 
  1951.  
  1952.  iconify_on & iconify_off 
  1953.     Turns on or off the iconifying of a file when it is saved. 
  1954.  
  1955.  invert_colors 
  1956.     Invert image colors 
  1957.  
  1958.  jpeg_smooth number 
  1959.     Will turn jpeg file save smoothing on.  number (an integer) indicates the 
  1960.     smoothing factor. 
  1961.  
  1962.  jpeg_smooth_on 
  1963.     Will turn on jpeg file save smoothing and use whatever the default 
  1964.     smoothing factor is. 
  1965.  
  1966.  jpeg_smooth_off 
  1967.     Turns off jpeg file save smoothing. 
  1968.  
  1969.  jpeg_optimize_off & jpeg_optimize_on 
  1970.     Turns on or off jpeg file save optimization. 
  1971.  
  1972.  jpeg_quality number 
  1973.     Jpeg file save quality, number is the quality and must be an integer, 
  1974.     between 50-100. 
  1975.  
  1976.  jpeg_quantize string 
  1977.     The method used to quantize (convert from 24 to 8 bits) the original jpeg 
  1978.     file when read in.  string will be one of the following: 
  1979.  
  1980.     o quick  -Use quick method 
  1981.     o slow  -Use slow method - not recommended 
  1982.     o best  -Use best method 
  1983.     o gray  -Convert to grayscale 
  1984.     o builtin -Use builtin method, recommended 
  1985.  
  1986.  move_abs number_x number _y 
  1987.     Move the window to the absolute position indicated by the integers number_x 
  1988.     and number_y.  The values are relative to the lower left corner of the 
  1989.     screen, which is 0, 0.  The position on the window that this is in 
  1990.     reference to is the lower left corner.  No checking takes place for whether 
  1991.     the window will be off screen. 
  1992.  
  1993.  move_rel number_x number _y 
  1994.     Move the window the number of pixels indicated relative to its current 
  1995.     position. number_x and number_y are integers and can be positive or 
  1996.     negative.  No value testing is performed. 
  1997.  
  1998.  open_file string 
  1999.     This command will open whatever file is indicated in string.  The argument 
  2000.     should ideally have a drive and path but this is not absolutely needed if 
  2001.     you know the directory JoeView is currently in. 
  2002.  
  2003.  pause number 
  2004.     Pause for indicated number of tenths of a second before going on to next 
  2005.     command. number must be an integer. 
  2006.  
  2007.  print many options 
  2008.     The printing allows you to specify almost everything you would normally 
  2009.     specify when using the print dialog.  There are many options and they can 
  2010.     appear in many orders.  The order can have an effect on how the image is 
  2011.     ultimately display.  JoeView will come up with default image where the 
  2012.     image is centered and ready for the default printer.  The options (some 
  2013.     required) are: 
  2014.  
  2015.     o image_width number  Will specify the image width, in inches 
  2016.     o image_height number Will specify the image height, in inches 
  2017.     o left_margin number Will specify the left margin, in inches 
  2018.     o right_margin number Will specify the right margin, in inches 
  2019.     o top_margin number Will specify the top margin, in inches 
  2020.     o base_margin number Will specify the base margin, in inches 
  2021.     o center Center the image on the page. 
  2022.     o landscape_on Print image in landscape mode. 
  2023.     o landscape_off Print image in portrait mode. 
  2024.     o fixed_left Left margin is held fixed. 
  2025.     o fixed_right Right margin is held fixed. 
  2026.     o fixed_width Image width is held fixed. 
  2027.     o fixed_top Top margin is held fixed. 
  2028.     o fixed_base Base margin is held fixed. 
  2029.     o fixed_height Image Height is held fixed. 
  2030.     o set_printer name  Choose a printer.  Capitalization is important for the 
  2031.       name and only the first part of your printer name is important.  For 
  2032.       example, if your printers are called "My Printer" and "Sekas Printer" you 
  2033.       should only use Sekas to select the second printer.  Never put two 
  2034.       strings in for the printer name.  Your default printer will be selected 
  2035.       initially. 
  2036.     o delay number  Delay processing by the indicated number of seconds.  Use 
  2037.       this to take a look at the printer dialog when you are trying to debug 
  2038.       your code.  The maximum value is 30. 
  2039.     o print_it  Print the image.  This is mandatory, if this does not exists, 
  2040.       the print dialog will be cancelled. 
  2041.  
  2042.  priority_low & priority_regular 
  2043.     Set thread priority to low or regular. 
  2044.  
  2045.  priority_monitor 
  2046.     You should read the discussion of the use of priority which is located in 
  2047.     the main menu.  If you execute a priority_monitor command, JoeView will 
  2048.     always monitor whether idle time threads (low priority threads) can 
  2049.     execute.  If during a 3 second period they can't execute, then their 
  2050.     priority is increased to regular priority.  For this option to work you 
  2051.     need to execute it first, then do a priority_low command.  It is advisable 
  2052.     to always use this command when you are going to specify low priority 
  2053.     threads.  If you are really sure you want low priority threads, all the 
  2054.     time, go ahead and leave it off.  BTW, you can only turn this on, once on 
  2055.     it stays on. 
  2056.  
  2057.  quantize string 
  2058.     The method used to quantize (convert from 24 to 8 bits) when image file is 
  2059.     a non-jpeg 24 bit image (targa, pbm, etc).  string will be one of the 
  2060.     following: 
  2061.  
  2062.     o quick  -Use quick method 
  2063.     o slow  -Use slow method - not recommended 
  2064.     o best  -Use best method - recommended 
  2065.     o gray  -Convert to grayscale 
  2066.  
  2067.  reduce_colors number 
  2068.     Reduces image to specified number of colors.  number must be an integer 
  2069.     greater than 1. 
  2070.  
  2071.  resizex2 
  2072.     Also resize/2, resizex3, resize/3, resizex4 resize/4. Resize image by 
  2073.     appropriate factor, either multiply x or divided by /.  resizex2 would 
  2074.     double the image, resize/2 would half the image, etc. 
  2075.  
  2076.  resize_640 
  2077.     Also resize_800 and resize_1024. Resize image to fit screen resolution 
  2078.     indicated. 
  2079.  
  2080.  resize_custom width height 
  2081.     Resize image to specified width and height.  width and height must be 
  2082.     integers. 
  2083.  
  2084.  rotate_clockwise 
  2085.     Also rotate_countclockwise.  Rotate image in the appropriate direction. 
  2086.  
  2087.  save_colors string 
  2088.     When doing a file save, save image in a specified color format.  string is 
  2089.     the color format and must be: 
  2090.  
  2091.     o gray  -Grayscale 
  2092.     o bw   -Black and white 
  2093.     o color  -Color 
  2094.  
  2095.  save_file string 
  2096.     Save the file.  string is the file format and must be one of the following. 
  2097.     This does not change the image name extension, you must do that explicitly 
  2098.     with set_filename_extension, otherwise you will overwrite the original file 
  2099.     if you haven't changed directories or filenames. 
  2100.  
  2101.     o sun - Sun raster format 
  2102.     o pbm_ascii - PBM, PGM, PPM formats in ascii 
  2103.     o pbm_raw  - PBM, PGM, PPM formats, raw 
  2104.     o x11 - X11 bitmaps 
  2105.     o tiff_none - TIFF with no compression 
  2106.     o tiff_packbits - TIFF with packbits compression 
  2107.     o tiff_lzw - TIFF with LZW compression 
  2108.     o tiff_fax3 - TIFF in fax 3 style 
  2109.     o tiff_fax4 - TIFF in fax 4 style 
  2110.     o gif - GIF format 
  2111.     o targa - TARGA format 
  2112.     o targa_rle - TARGA RLE format 
  2113.     o pcx - PCX format 
  2114.     o windoze - MS Windows bitmap 
  2115.     o os2 - OS2 2.0 bitmap 
  2116.     o windoze_rle - MS Windows bitmap, rle encoded 
  2117.     o os2_rle - OS2 2.0 bitmap, rle encoded 
  2118.     o jpeg - JPEG format 
  2119.  
  2120.  say_commands_on & say_commands_off 
  2121.     Will have JoeView show you the command it is about to execute.  Used for 
  2122.     debugging a script or REXX file. 
  2123.  
  2124.  set_filename string 
  2125.     Changes the name of the current image to string.  This will not change the 
  2126.     path or drive info. 
  2127.  
  2128.  set_filename_directory string 
  2129.     Will change the directory of the image, but will leave the image name 
  2130.     unchanged. You should include the drive. 
  2131.  
  2132.  set_filename_extension string 
  2133.     Will change the extension of the image, or assign one if it doesn't have 
  2134.     one. The extension string should include its own period.  For example, If 
  2135.     the image was orginally c:\bigguns\test.gif, 
  2136.  
  2137.     set_filename_extension .jpeg 
  2138.  
  2139.     would change the file to c:\bigguns\test.jpeg 
  2140.  
  2141.  size_abs wide high 
  2142.     Size the display of the image to the indicated values.  Note that this is 
  2143.     the displayed image, not the "real" image.  wide and  high are integers. 
  2144.  
  2145.  size_rel wide high 
  2146.     Adjust the size of the displayed image  by the increment indicated.  wide 
  2147.     and  high are integers. 
  2148.  
  2149.  smooth_weighted number 
  2150.     Do a weighted smooth.  number  is the weighting factor, an integer from 
  2151.     0-100. 
  2152.  
  2153.  smooth_no_weight 
  2154.     Do a non weighted smooth. 
  2155.  
  2156.  stop 
  2157.     This must exist outside of the begin & end pair of a Script file.  It stops 
  2158.     the Script or REXX program and returns control back to JoeView.  It should 
  2159.     be the last command sent to JoeView.  When you are using a REXX program, it 
  2160.     is slightly better to just have the REXX program do a normal exit and not 
  2161.     send the stop command. 
  2162.  
  2163.  system_colors_distance 
  2164.     Convert image to system colors using Distance Method. 
  2165.  
  2166.  system_colors_fsd 
  2167.     Convert image to system colors using Floyd Steinberg Dithering. 
  2168.  
  2169.  title_bar_toggle 
  2170.     Turn the title bar on if off or off if on. 
  2171.  
  2172.  visible & invisible 
  2173.     Hide or unhide the displayed image.  Will also turn off the palette 
  2174.     realizing when invisible. 
  2175.  
  2176.  warnings_on & warnings_off 
  2177.     With warnings off, you will not be warned about problems except for those 
  2178.     relating to memory errors which generally signify a pretty big error.  You 
  2179.     will not be warned if an unknown file format was read or if you are 
  2180.     overwriting a file. 
  2181.  
  2182.  zoom_in left bottom right top 
  2183.     Zoom in to the specified coordinates.  These are the "real" image 
  2184.     coordinates, not the displayed coordinates.  0,0 would be the lower left 
  2185.     corner of the image. 
  2186.  
  2187.  zoom_out 
  2188.     Zoom back out. 
  2189.  
  2190.  Several example scripts are included.  They are: 
  2191.  
  2192.  script1.exm  This script takes whatever image was in JoeView before the script 
  2193.  is loaded and runs it through a variety of manipulations.  Because of the 
  2194.  choice of manipulations, the original image will not be affected.  Note that 
  2195.  the image's original filename will be lost. 
  2196.  
  2197.  script2.exm  This script would read in all the files located in directory 
  2198.  c:\kermit\temp that have the extension .gif.  It would iconify each of the 
  2199.  files, and save them as jpegs after first changing the extension to .jpg.  The 
  2200.  jpeg save options would be whatever the defaults had been set to prior to 
  2201.  executing the script.  After all the files have been gone through, the last 
  2202.  image has its colors inverted twice.  Only the last image is affected because 
  2203.  the invert commands are outside the begin & end pair.  If the the 
  2204.  set_filename_extension command had not been issued, the jpegs would have been 
  2205.  saved over the orginal gifs.