home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / os2 / joevw12.zip / JOEVIEW.HLP (.txt) < prev    next >
OS/2 Help File  |  1993-07-13  |  54KB  |  1,416 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 double clicking the left mouse button or by 
  13. 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.  
  38. o Save 
  39.  
  40. o SlideShow 
  41.  
  42. o Print 
  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.  The dialog runs independently of the main window.  You can select a new 
  49. file at any time unless JoeView prevents it, and generally you will only be 
  50. prevented from opening a file if JoeView is already trying to open a file or 
  51. you are running 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  Typically you would just enter "*.*" or "*.bmp" here.  You can also 
  61. use "*.bmp;*.gif" to select multiple file extensions.  If you want you could 
  62. also type in the name of a file or the full name ala "c:\file\my.bmp". 
  63. Further, you can change to a new directory fairly quickly by using 
  64. "c:\files\go_here\*.*" - This would change to the approprate drive and 
  65. directory and also set the File Mask to "*.*". 
  66.  
  67. A file can be selected by typing in the file name in the File Mask entry field 
  68. or by double clicking on the files list box.  Directories are changed by double 
  69. clicking in the directory listbox.  Drives are changed using the pull down 
  70. listbox. The file mask entry field is where, in addition to simply typing a 
  71. file name, you may enter wild cards, like *.gif or multiple wild cards 
  72. separated by a ";" or "," for example "*.gif;*.bmp;*.tga" (no spaces)!  A list 
  73. of only those files that match the mask will be shown in the files list box. 
  74. Files can be shown in either alphabetical or dated format by selecting the 
  75. appropriate button. 
  76.  
  77. Confirm on delete does what it says.  If you try and delete a file , it will 
  78. prompt you first.  Turn it off and delete will just kill the file when you hit 
  79. the Delete button.  BEWARE!!! The file deleted is the file shown in the current 
  80. file area (at the upper left side of the dialog) not necessarily the file 
  81. currently being viewed.  If you only single click on a file in the files list 
  82. box it will be selected as the current file even though you are not looking at 
  83. it yet. Why does this feature exist?  Often a series of images are less than 
  84. desirable to me, so the ability to cream'em all at once is useful.  Just leave 
  85. the Confirm on Delete attribute on if your not sure, you will always be 
  86. prompted. 
  87.  
  88. Browse Mode keeps the dialog open when not in use.  This is useful if you are 
  89. going to look at a variety of files and don't want to keep opening the dialog 
  90. each time.  There is a memory penalty for doing so which is proportional to the 
  91. size of the directory being viewed.  When Browse Mode is active hitting Cancel 
  92. will do no more than bring the image window forward, you must turn off Browse 
  93. Mode to get rid of the File Open Dialog or you can simply use the minimize 
  94. button to get it out of the way. 
  95.  
  96. Low Priority Open will cause the selected file to be read in at low priority, 
  97. giving other processes more the CPU. 
  98.  
  99. There are two buttons on the lower left side of the dialog box labeled N and P. 
  100. These buttons will cause the file either next or previous relative to the 
  101. currently highlighted file to be opened.  Both will cycle to either the 
  102. beginning or end of the list when going off the end.  They have accelerator 
  103. keys associated with them. 
  104.  
  105. One last item is the Quick Dir listbox.  Go back on click on Quick Dir for the 
  106. description. 
  107.  
  108.  
  109. ΓòÉΓòÉΓòÉ 2.2.2. Saving an Image ΓòÉΓòÉΓòÉ
  110.  
  111. The File Save dialog is pretty simple but deserves some explanation.  The Quick 
  112. Dir listbox needs some detailed explanation that can be accessed by clicking on 
  113. Quick Dir.  Drive, directory, and files are listings or displays of what is 
  114. currently available.  You can enter any valid directory/path combo in the Save 
  115. as: entry box.  The file listing is for information purposes mostly, but if you 
  116. do click on the file it will become the entry in the Save as: box. If you 
  117. double click on a file listbox entry, that will an indication that you want to 
  118. save the current image into that file. 
  119.  
  120. CAUTION:
  121. Be sure to indicate a file type before you double click on a file. 
  122.  
  123. When you select a file type, that appropriate extension is added to or changed 
  124. for the text in the Save as: entry field. 
  125.  
  126. File types available are: 
  127.  
  128. o GIF 
  129.  
  130. o JPEG 
  131.  
  132. o OS2 BMP 
  133.  
  134. o Windoze BMP 
  135.  
  136. o PBM (raw and ASCII) 
  137.  
  138. o X11 BMP 
  139.  
  140. o Sun Raster 
  141.  
  142. o TARGA 
  143.  
  144. All are pretty self explanatory, but it should be noted that for Windows and 
  145. OS2 bitmaps only non RLE formats are written.  RLE formats can be read however. 
  146.  
  147. There are two options located at the bottom of the dialog.  Save at displayed 
  148. size will write the image at whatever resolution the image is currently being 
  149. displayed with.  This is contrasted with the resolution that the image is 
  150. stored in memory as.  See Viewing Strategies  for details. 
  151.  
  152. The second option is to save at low priority.  Since JoeView is multithreaded 
  153. you can save a file and while it is being written to disk go ahead and start 
  154. loading a different image.  Low priority will write the current file a little 
  155. slower (in theory anyway) so that you (or other processes) can use the CPU to 
  156. do more important things, like loading/looking at another image.  Only one 
  157. image can be saved at a time.  The menu command to save an image will be 
  158. inaccessible until JoeView has finished saving the current file. 
  159.  
  160.  
  161. ΓòÉΓòÉΓòÉ 2.2.3. Slide Show ΓòÉΓòÉΓòÉ
  162.  
  163. Slide Show is used to display a series of images, either a new image is 
  164. displayed after a certain amount of time or after a certain signal is given ( 
  165. manual mode). 
  166.  
  167. The Drive listbox changes the current drive. 
  168.  
  169. Quick Dir is explained elsewhere. 
  170.  
  171. Directory is a listbox of the current directory.  Selecting an item in this 
  172. listbox will cause a change to that directory. 
  173.  
  174. Note:  Selecting the current directory will deselect all the files highlighted 
  175. in the Files listbox. 
  176.  
  177. The basic idea is to select a file that you want included in the display. You 
  178. can select a specific file by clicking on it in the File list box.  You may 
  179. select multiple files at one time.  A file is selected when it is highlighted. 
  180.  
  181. Note:  If you double click on a file, it is immediately selected into the 
  182. Selected Files listbox. 
  183.  
  184. If you have mistakenly highlighted a file, clicking on it again will de- 
  185. highlight it.  In addition to going after individual files in the Files 
  186. listbox, you may use any or all of the four buttons located above it.  *.gif 
  187. will highlight all files that have the .gif extension.  Similar for *.jpg while 
  188. *.* selects everything.  The Mask-> button will take whatever you have entered 
  189. in the listbox to its right and use it for finding files.  You DO NOT use wild 
  190. card symbols here (*, ?). 
  191.  
  192. Example:  Using .gif as the mask would highlight all files
  193. that have .gif in them.  This would include
  194. JoeView.gif
  195. myfile.old.gif
  196. 1.gif.jpg
  197. Using t as the mask would select any file with a t in it.
  198.  
  199. Once you have highlighted a file, hitting the Add-> button will select it into the Selected Files listbox.  The files listed there are the ones that will be used in the actual slide show.
  200.  
  201. If you have decided that you don't want to include a file that is listed in the Selected Files listbox, highlight it and use the <-Remove button to eliminate it.
  202.  
  203. Note:  You can select multiple copies of the same file into the Selected Files listbox.
  204.  
  205. The Start button will begin the slide show.
  206.  
  207. There are two additional buttons, Save and Load.  These are for storing and retrieving a SlideShow file
  208. selection.  All that is saved is the file name, no other options are stored.  The default extension for the file
  209. created is ".sls" but any file name can be used.  When loading a file, all entries are placed into the selected
  210. listbox, including any that are already there.  You can also start a Slide Show by selecting a Slide Show file
  211. from the File Open Dialog or by dragging and dropping such a file onto the JoeView icon.
  212.  
  213. There are three options that can be selected without using the Options button.  They are: Timed vs Manual, and Loop.  All three can be modified from the dialog brought up by using the Options button.  The Options button brings up a more complete set
  214. of options than those displayed here.  See SlideShow Options.
  215.  
  216. Be aware that you can modify your selected options even when SlideShow is running by selecting Options off the Main Menu.
  217.  
  218. Once SlideShow begins, two additional options will appear on the Main Menu that exist only when you
  219. are running SlideShow.  One is Pause SlideShow and the other is Stop SlideShow.  Pause will temporarily halt the slide show, thus freeing the CPU for other things.  Once selected, this command will
  220. change to Restart SlideShow.
  221.  
  222. Note:  When JoeView is minimized the SlideShow will pause after the next image has been read in.
  223.  
  224. Stop SlideShow will stop the slide show.  The slide show will not stop in the middle of reading a file, so if a file is currently being loaded, JoeView will complete the load before ending the slide show.
  225.  
  226. Manual Mode:  The next image is displayed when you double click with the right mouse button on the current image or hit the N key.
  227.  
  228. Note:  You can skip ahead to the next image in Timed mode by double clicking with the right mouse button or hitting the N key.
  229.  
  230.  
  231. ΓòÉΓòÉΓòÉ 2.2.3.1. SlideShow Options ΓòÉΓòÉΓòÉ
  232.  
  233. You can specify the time interval between images being displayed.  This field 
  234. is ignored if you select manual mode.  The actual time interval is calculated 
  235. from the time the most recent image is displayed until the next image will 
  236. start to be read.  Because of time it take to read an image, the actual 
  237. interval between image displays may be quite different than that requested. 
  238.  
  239. There are four different ways of having the image displayed.  The first two are 
  240. grouped with the ability to force them not to change their window size.  The 
  241. fixed window size option does not affect the other two options.  Both Keep True 
  242. Aspect Ratio and Aspect Ratio can Distort will resize up to the size of the 
  243. screen with each new file load unless Fixed Window Size is specified. Keep True 
  244. Aspect Ratio will always display the image in its correct height vs width 
  245. ratio.  If Fixed Window Size is selected, the image may be padded with black 
  246. space on the sides or top and bottom as needed. Aspect Ratio can Distort will 
  247. resize the window to the correct size if Fixed Window Size if NOT selected. 
  248. Any subsequent resizes of the current image will force the image to fit inside 
  249. the window.  If Fixed Window Size is selected, the image will always fit 
  250. exactly into the window. 
  251.  
  252. The alternative two display options are size limited.  Auto Resize with 
  253. Constant Width will always keep the image at the current width of the window, 
  254. small images will expand appropriately while large ones will shrink.  The upper 
  255. left corner of the window is considered fixed, while the base is allowed to 
  256. float.  In this way the window will resize (as far down as the bottom of the 
  257. screen) to keep the Aspect Ratio correct. If the correct aspect ratio cannot be 
  258. achieved because the image would be too large, the image width will be padded. 
  259. Auto Resize with Constant Height is similar except the height of the window 
  260. will not change.  Again, the upper left corner is considered fixed and will not 
  261. be moved by JoeView.  The window will expand to the far right side of the 
  262. screen if needed. 
  263.  
  264. The Loop option will cause the slide show to begin over again once all the 
  265. images have been cycled through. 
  266.  
  267. Randomize files will cause the slide show images to appear in a random order, 
  268. otherwise they appear in the order listed in the Selected Files listbox shown 
  269. in the SlideShow dialog. 
  270.  
  271. Note:  The file list is randomized but no effort is made to make sure all files 
  272. are shown when the list is gone through, nor is the same file prevented from 
  273. being shown multiple times.  The only guarantee is that the correct number of 
  274. files will be shown during each cycle.  (cycle = 1 if Loop is not selected). 
  275.  
  276. You can also specify whether you want the Slide Show to run at low priority. 
  277. This way your other applications will not be as affected during a file read. 
  278.  
  279. Any of these options can be changed while the SlideShow is running.  Use the 
  280. Options command on the Main Menu once the slide show is started. 
  281.  
  282.  
  283. ΓòÉΓòÉΓòÉ 2.2.4. Printing ΓòÉΓòÉΓòÉ
  284.  
  285. So far printing has shown to be a hit and miss operation.  Some images come out 
  286. OK, while others distort the colors.  You may find that images will printout 
  287. better if you map the colors into the system colors first.  On black and white 
  288. printers doing a black and white dither may yield better results and similarly, 
  289. you may want to convert your image to grayscale before printing. 
  290.  
  291. Printing is not multi-threaded (so I'm lazy) so give it some time to complete. 
  292.  
  293. The hard part about printing it to do so without distorting your image 
  294. inadvertently.  This is where the Fixed radio buttons come in.  Basically, you 
  295. choose what part of the picture will remain constant.  Usually you will want to 
  296. make the image size constant, but thats up to you. 
  297.  
  298. The Distortion of apect ratio tells you how much your image is being squished 
  299. because of the margins you have called for.  Basically, 0 means that your image 
  300. will print true, while positive values indicate the sides are squished in, 
  301. while a negative value means the top is squished down. 
  302.  
  303. You select a printer by clicking on the appropriate printer name show in the 
  304. Printers listbox.  Double clicking on the printer will allow you to edit its 
  305. defaults.  In addition, you can check the EPS (Encapsulated Postscript) 
  306. checkbox. This will modify the Printing dialog box, allowing you to enter a 
  307. filename and also choose whether to use RLE encoding (compress) on the file and 
  308. or a preview section for the file created.  The code to create an EPS file is 
  309. based on work by John Bradley of The University of Pennsylvania. 
  310.  
  311.  
  312. ΓòÉΓòÉΓòÉ 2.3. Edit ΓòÉΓòÉΓòÉ
  313.  
  314. The commands listed under this heading will typically permanently change your 
  315. image, with the exception of Copying to the Clipboard (Copy...). 
  316.  
  317.  
  318. ΓòÉΓòÉΓòÉ 2.3.1. Copy and Paste ΓòÉΓòÉΓòÉ
  319.  
  320. The pathway to the copy and paste command. 
  321.  
  322.  
  323. ΓòÉΓòÉΓòÉ 2.3.1.1. Copy... ΓòÉΓòÉΓòÉ
  324.  
  325. Copy to the clipboard.  The image will be copied to the system's clipboard.  It 
  326. appears that when an image is copied to the clipboard, the system will convert 
  327. the colors into the "system" color palette which you can pretty much guarantee 
  328. will not match the colors of your image.  If you want the copied image to be 
  329. really good, convert it to the system's palette first by using FS Dither 
  330. first.  JoeView will automatically convert the image using the Distance Method. 
  331.  
  332.  
  333. ΓòÉΓòÉΓòÉ 2.3.1.2. Paste ΓòÉΓòÉΓòÉ
  334.  
  335. Paste from the clipboard.  Whatever image JoeView is currently displaying will 
  336. be lost. 
  337.  
  338.  
  339. ΓòÉΓòÉΓòÉ 2.3.1.3. Paste Into From Clipboard (or File) ΓòÉΓòÉΓòÉ
  340.  
  341. This feature allows you to paste whatever is currently in clipboard into 
  342. whatever image currently is being displayed by JoeView.  A locating rectangle 
  343. is used to allow you to position the clipboard image to the spot that you want 
  344. it.  The clipboard image must be smaller dimensionally than the image currently 
  345. being viewed in JoeView.  You can resize the clipboard image to be whatever 
  346. size you want, but you cannot change the aspect ratio. 
  347.  
  348. The alternate form of this command is to paste directly from another file. 
  349. This has the advantage of not being limited by the clipboard's color palette. 
  350.  
  351. Both of these command operate the same, with the exception that Pasting from a 
  352. file first requires you to specify a file. 
  353.  
  354.  
  355. ΓòÉΓòÉΓòÉ 2.3.2. Colors ΓòÉΓòÉΓòÉ
  356.  
  357. Color crunching stuff. 
  358.  
  359.  
  360. ΓòÉΓòÉΓòÉ 2.3.2.1. Control Center ΓòÉΓòÉΓòÉ
  361.  
  362. This is where the action takes place for color manipulations.  Many of the 
  363. manipulations that can be executed here can also be launched from the menu 
  364. system or via hot-keys, but everything accessed via this dialog can be undone. 
  365.  
  366. Basically you have two ways of manipulating the image's colors in the broadest 
  367. sense, by changing the Red Green and Blue (RGB) components of the image's 
  368. colors and by changing the Hue Saturation and Value (intensity) or HSV of the 
  369. image.  The method of manipulation is chosen by the radio button HSV or RGB. 
  370. The values of RGB and HSV are stored separately so the values in one set of 
  371. spin buttons will not correspond to the other set. 
  372.  
  373. The Dynamic check box will cause the changes you are making to the various 
  374. sliders to be applied as you make the changes.  If you do not have the dynamic 
  375. box checked, you will need to hit the Test button to see the effects of your 
  376. changes. 
  377.  
  378. The Forget It is equivalent to cancel and will restore the image to its 
  379. original state before closing the dialog.  Make it So  applies the changes 
  380. permanently to the image. 
  381.  
  382. Other manipulations can be run from here by selecting the appropriate button. 
  383. They are 
  384.  
  385. o Grayscale 
  386.  
  387. o Reduce Colors 
  388.  
  389. o BW Dither 
  390.  
  391. o FS Dither 
  392.  
  393. o Distance Method 
  394.  
  395.  
  396. ΓòÉΓòÉΓòÉ 2.3.2.2. Brighten ΓòÉΓòÉΓòÉ
  397.  
  398. Colors are all shifted up to brighter colors.  Will eventually turn entire 
  399. image white.  If you shift colors repeatedly (all white in the extreme) you 
  400. will not be able to undo using the Darken feature.  This is accessed via the 
  401. hot-key "B". 
  402.  
  403.  
  404. ΓòÉΓòÉΓòÉ 2.3.2.3. Darken ΓòÉΓòÉΓòÉ
  405.  
  406. Colors are all shifted down to darker colors.  Will eventually turn entire 
  407. image black.  Can be undone with Brighten if not taken too far.  This is 
  408. accessed via the hot-key "D". 
  409.  
  410.  
  411. ΓòÉΓòÉΓòÉ 2.3.2.4. BW Dither ΓòÉΓòÉΓòÉ
  412.  
  413. Turns current image into a black and white image. 
  414.  
  415.  
  416. ΓòÉΓòÉΓòÉ 2.3.2.5. Reduce Colors ΓòÉΓòÉΓòÉ
  417.  
  418. You specify the number of colors you want the image to have.  Numbers greater 
  419. than the current number of colors the image uses will do nothing and values 
  420. less than 2 are not allowed.  This function is usually fast but can be a little 
  421. time consuming with large pictures. 
  422.  
  423.  
  424. ΓòÉΓòÉΓòÉ 2.3.2.6. Go Grayhound ΓòÉΓòÉΓòÉ
  425.  
  426. Converts the colors used in the image to grayscale. 
  427.  
  428.  
  429. ΓòÉΓòÉΓòÉ 2.3.2.7. System Colors ΓòÉΓòÉΓòÉ
  430.  
  431. There are two different ways of converting from the image's current color 
  432. scheme to that used by your OS2 system.  They are Floyd Steinberg Dithering ( 
  433. FS Dither ) and and the Distance Method. 
  434.  
  435.  
  436. ΓòÉΓòÉΓòÉ 2.3.2.7.1. FS Dither ΓòÉΓòÉΓòÉ
  437.  
  438. Floyd Steinberg Dithering of your image into the system's palette.  The 
  439. dithering method is based on ppmquant.c by Jef Poskanzer.  This produces 
  440. incredible results, sometimes it is hard to distinguish your original image 
  441. from the dithered.  Of course the penalty is that it is EXTREMELY CPU 
  442. intensive.  A VGA size image takes several minutes on my 33Mhz 486, your 
  443. mileage may vary.  The results are much better than using the Distance Method. 
  444.  
  445. This option is useful when copying to the clipboard or creating wallpaper or 
  446. lockup screen images. 
  447.  
  448.  
  449. ΓòÉΓòÉΓòÉ 2.3.2.7.2. Distance Method ΓòÉΓòÉΓòÉ
  450.  
  451. Converts your image's palette into the system's default palette.  Much faster 
  452. than FS Dither but noticeably lower quality. 
  453.  
  454. This option is useful when copying to the clipboard or creating wallpaper or 
  455. lockup screen images. 
  456.  
  457.  
  458. ΓòÉΓòÉΓòÉ 2.3.3. Resize ΓòÉΓòÉΓòÉ
  459.  
  460. Resizing changes the resolution of the image.  This will effect that actual 
  461. image, not just the displayed image.  See  Viewing Strategies for more 
  462. information.  Remember that how you have specified that the image be displayed 
  463. may make it appear that this operation has done nothing when it actually has. 
  464. For example, you may have the window size fixed. 
  465.  
  466. You can do +-10% increments or size the image to fit a particular screen size, 
  467. such as 640 x 480, 800 x 600, and 1024 x 768 or the resolution that the image 
  468. is currently being displayed at.  In addition to can specify the actual 
  469. dimensions to use by using the custom command. 
  470.  
  471.  
  472. ΓòÉΓòÉΓòÉ 2.3.4. Cropping ΓòÉΓòÉΓòÉ
  473.  
  474. Using the right mouse button, select an area of the image which you wish to 
  475. retain.  Using crop will eliminate all area's outside the indicated rectangle. 
  476. The change affects the image, unlike  Zoom. 
  477.  
  478. You must  be aware that the image may be being displayed with padded sides. 
  479. The padded sides exist for display only and so cannot be cropped away.  This 
  480. could happen if you manually resized the window after JoeView originally 
  481. displayed it. 
  482.  
  483.  
  484. ΓòÉΓòÉΓòÉ 2.3.5. Auto Cropping ΓòÉΓòÉΓòÉ
  485.  
  486. Auto cropping attempts to use a little bit of color comparisons to estimate 
  487. which parts of the picture need to be croppped. 
  488.  
  489. Regular: This method looks at the color of the pixel in the lower left corner 
  490. of the image. It then compares all other colors on each side of the image to 
  491. this color.  If one side's color all match this "magic" color, that side is 
  492. deleted.  This method progresses until a new color is encountered. 
  493.  
  494. Strict, Average, Loose, and Custom: All of these methods work on the same 
  495. underlying principle.  A group of colors are identified and used to compare a 
  496. side of the image to.  The group of "magic" colors will be taken from the lower 
  497. left side of the image unless a cropping rectangle has been selected, in which 
  498. case the " magic" colors are taken from there.  A maximum of 10 colors will be 
  499. determined, only one will be used if a solid color area is input.  A percentage 
  500. hit test is used to determine if a side of the image should be deleted.  For 
  501. instance, if you have 3 "magic" colors and if half the pixels of the side being 
  502. examined have these colors a hit of 50% would be recorded.  This hit percentage 
  503. is compared to the allowed value to determine whether or not to delete the 
  504. side.  The Strict, Average, and Loose options correlate to a 95%, 85%, and 75% 
  505. hit rates.  You can enter your own percentage using the custom command. 
  506.  
  507. Note:  If nothing seems to be happening, you might be using too tight a 
  508. percentage, but you also might be too loose.  If the percentage is way too 
  509. loose too much of the picture gets cropped and JoeView assumes that this isn't 
  510. what is desired and so does no cropping. 
  511.  
  512.  
  513. ΓòÉΓòÉΓòÉ 2.4. Manipulations ΓòÉΓòÉΓòÉ
  514.  
  515. This menu command does nothing but bring down another pull down menu.  The 
  516. commands on that menu are used for changing or manipulating the current image. 
  517. Many have keyboard equivalents.  All these commands can be undone by using 
  518. another command or the same command twice, i.e. using mirror twice. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ 2.4.1. Flip ΓòÉΓòÉΓòÉ
  522.  
  523. Depending on the option selected, the current image is flipped (mirrored) 
  524. either vertically or horizontally. 
  525.  
  526.  
  527. ΓòÉΓòÉΓòÉ 2.4.2. Rotate ΓòÉΓòÉΓòÉ
  528.  
  529. Rotation is either clockwise or counterclockwise.  Rotation takes place in 90 
  530. degree increments. 
  531.  
  532.  
  533. ΓòÉΓòÉΓòÉ 2.4.3. Invert Colors ΓòÉΓòÉΓòÉ
  534.  
  535. The current image colors are inverted.  For example, black becomes white, etc. 
  536.  
  537.  
  538. ΓòÉΓòÉΓòÉ 2.4.4. Zooming ΓòÉΓòÉΓòÉ
  539.  
  540. Zooming allows the user to zoom in on a particular area of the image.  That 
  541. area if first selected by using the right mouse button.  After a zoom has been 
  542. performed, the menu option will change to Zoom Out.  The original image is 
  543. unaffected by zooming, as opposed to  Cropping . 
  544.  
  545.  
  546. ΓòÉΓòÉΓòÉ 2.5. Options ΓòÉΓòÉΓòÉ
  547.  
  548. This will bring up one of two possible menus depending on whether or not you 
  549. are currently running SlideShow  The slideshow options can be looked at in the 
  550. Slide Show Options section.  The more regular options are 
  551.  
  552. o General 
  553.  
  554.    - Show Load Progress 
  555.  
  556.    - Overide System Colors 
  557.  
  558.    - Aggresive on palette 
  559.  
  560.    - Show Image Info 
  561.  
  562. o Image Windowing Options 
  563.  
  564.    - Scale, keep aspect ratio true 
  565.  
  566.    - Scale, aspect ratio can change 
  567.  
  568.    - Fixed Window Size 
  569.  
  570. o JPEG Stuff 
  571.  
  572. o Custom Cropping Value 
  573.  
  574. o Startup Drive and Directory 
  575.  
  576. o Saves 
  577.  
  578.    - Full Color 
  579.  
  580.    - Grayscale 
  581.  
  582.    - BW Dithered 
  583.  
  584.    - Save at displayed size 
  585.  
  586. o Confirm on delete 
  587.  
  588. o Browse Mode 
  589.  
  590. o Low Priority Read 
  591.  
  592. o Sort by date 
  593.  
  594. o Sort by name 
  595.  
  596. o Command Buttons 
  597.  
  598.    - Apply (Options become active, but are not saved) 
  599.  
  600.    - Save (Options saved but not applied) 
  601.  
  602.    - Cancel (duh!) 
  603.  
  604.    - Help 
  605.  
  606.  
  607. ΓòÉΓòÉΓòÉ 2.5.1. Load Progress ΓòÉΓòÉΓòÉ
  608.  
  609. Shows the current status of file loading, basically a percentage of image 
  610. loaded.  Shown in the window title bar.  Some File formats may not show this. 
  611.  
  612.  
  613. ΓòÉΓòÉΓòÉ 2.5.2. Overide System Colors ΓòÉΓòÉΓòÉ
  614.  
  615. Allows application to cream the system colors.  These are the colors used for 
  616. dialogs, menu text, etc.  There are not that many of them, you can figure out 
  617. how many unique ones you have by looking at the  Image Information Dialog 
  618. colors field.  You will often see "got 245 out of 256". Subtract the first 
  619. number from 256 to get the number of system colors. 
  620.  
  621. The colors that the application can't place are mapped into the closest ones 
  622. the system will display. Usually the increase in image quality is 
  623. insignificant, but you might use this option if you are not gonna look at other 
  624. applications while JoeView is running. 
  625.  
  626.  
  627. ΓòÉΓòÉΓòÉ 2.5.3. Aggresive on Palette ΓòÉΓòÉΓòÉ
  628.  
  629. The application will fight for colors it is using.  If another application 
  630. starts changing the palette this option will cause JoeView to try and change 
  631. the colors back every now and then.  If you are working with another 
  632. applications it can get annoying having the colors flash and the system will 
  633. slow down somewhat. 
  634.  
  635. You can use a hot key (Alt A) to cycle this on or off. 
  636.  
  637. Even while Aggresive on Palette is off whenever you make JoeView the active 
  638. application the palette will become reset to the correct colors. 
  639.  
  640.  
  641. ΓòÉΓòÉΓòÉ 2.5.4. Quick but eh ΓòÉΓòÉΓòÉ
  642.  
  643. The fastest reading of a JPEG file, colors may be off. 
  644.  
  645.  
  646. ΓòÉΓòÉΓòÉ 2.5.5. Not bad ΓòÉΓòÉΓòÉ
  647.  
  648. This tries to implement Heckbert's Median Cut algorithm.  The code is hacked 
  649. from XV by John Bradley of The University of Pennsylvania which is in turn 
  650. based/hacked on code by Jef Poskanzer (ppmquant.c - quantize colors). 
  651.  
  652. It gets the job done, but sometimes not as fast as Best option.  Quality in 
  653. line with  Best.  I am not sure, but I get the feeling that when viewing true 
  654. 24 bit images (meaning way over 256 colors), this will give you the best 
  655. conversion down to 8 bit. 
  656.  
  657.  
  658. ΓòÉΓòÉΓòÉ 2.5.6. Best ΓòÉΓòÉΓòÉ
  659.  
  660. Best image display. Floyd-Steinberg dithering is used. 
  661.  
  662.  
  663. ΓòÉΓòÉΓòÉ 2.5.7. Startup directory ΓòÉΓòÉΓòÉ
  664.  
  665. Where would you like to start looking for images?  Leave blank to start in 
  666. current directory. 
  667.  
  668.  
  669. ΓòÉΓòÉΓòÉ 2.5.8. Full Color ΓòÉΓòÉΓòÉ
  670.  
  671. Save file using all the colors it currently has. 
  672.  
  673.  
  674. ΓòÉΓòÉΓòÉ 2.5.9. Grayscale ΓòÉΓòÉΓòÉ
  675.  
  676. Save image but first convert to grayscale colors. 
  677.  
  678.  
  679. ΓòÉΓòÉΓòÉ 2.5.10. BW Dithered ΓòÉΓòÉΓòÉ
  680.  
  681. Save image  but convert to Black and White first. 
  682.  
  683.  
  684. ΓòÉΓòÉΓòÉ 2.5.11. Save at Displayed Size ΓòÉΓòÉΓòÉ
  685.  
  686. Remember that the size of the displayed image may not be the size of the actual 
  687. image.  Select this if you want the image to be stored at the same dimensions 
  688. it is being displayed at.  See Viewing Strategies for more info. 
  689.  
  690.  
  691. ΓòÉΓòÉΓòÉ 2.5.12. Sort by Date ΓòÉΓòÉΓòÉ
  692.  
  693. Files are listed in chonological order. 
  694.  
  695.  
  696. ΓòÉΓòÉΓòÉ 2.5.13. Sort by Name ΓòÉΓòÉΓòÉ
  697.  
  698. Files are listed in alphabetical order. 
  699.  
  700.  
  701. ΓòÉΓòÉΓòÉ 2.6. Image Information ΓòÉΓòÉΓòÉ
  702.  
  703. This command brings up a window that shows information about the currently 
  704. displayed image.  The information consists of: 
  705.  
  706. o The Filename 
  707.  
  708. o Format of the image file and filesize 
  709.  
  710. o Resolution of the image in memory 
  711.  
  712. o Resolution of the image as display 
  713.  
  714. o Distortion and scale of the image (Dist. and Scale) 
  715.  
  716. o Color information 
  717.  
  718. o An unseen line that occasionally will show warning messages 
  719.  
  720. o A history list box of manipulations that have been performed on the current 
  721.   image. 
  722.  
  723. The Information Box will remain around as long as JoeView is alive or until the 
  724. Hide button is pressed. 
  725.  
  726. The information categories are pretty self explanatory, but for clarity 
  727. Resolution refers to the resolution of the image as it is currently stored in 
  728. memory, while Display Res. is the resolution that the image is currently being 
  729. displayed at. 
  730.  
  731. The Dist. and Scale category may not be obvious.  The distortion is the ratio 
  732. of the aspect ratio of the image as it is displayed divided by the aspect ratio 
  733. of the image in memory.  Take that number and subtract one from it if it is 
  734. greater than one or if it is less than one invert it and make it negative and 
  735. then add one.  We will call the aspect ratio the width of the image divided by 
  736. its height.  So a distortion of 0 means the image is not being distorted, a 
  737. positive value means your are crushing the top down and a negative value means 
  738. you are squishing the sides in. 
  739.  
  740. Scale is the scale factor of memory versus display.  2 means the display image 
  741. is twice as large as the memory image.  When you are distorting the image, the 
  742. largest scale (width or height) is displayed. 
  743.  
  744.  
  745. ΓòÉΓòÉΓòÉ 3. Some Hints ΓòÉΓòÉΓòÉ
  746.  
  747. No the hints aren't here, go in one more level. 
  748.  
  749.  
  750. ΓòÉΓòÉΓòÉ 3.1. Viewing Strategies ΓòÉΓòÉΓòÉ
  751.  
  752. Images are displayed in several ways. Two ways that are always available are 1) 
  753. just a simple, correctly scaled image and 2) an image that starts out scaled, 
  754. but if you resize the window the aspect ratio will change so that the picture 
  755. always fills up the window.  These two types of display can be modified 
  756. somewhat by selecting the fixed window size attribute.  This option will force 
  757. JoeView to not resize the viewing window each time a new file is loaded 
  758. (whether by SlideShow or by File -> Open).  The user can resize the window at 
  759. any time. 
  760.  
  761. The SlideShow offers two addition ways of displaying images.  See SlideShow for 
  762. more information.  In no case however, are sliders ever used. 
  763.  
  764. The most important thing to remember when using JoeView is that the actual 
  765. resolution of the image (the width x height) is not always the same as that 
  766. which it is displayed with.  For example, let's say you are working on a system 
  767. that is limited to a display of 640 by 480 and you try and load an image that 
  768. is 2000 by 2000.  JoeView will resize the image to fit the screen when it 
  769. displays the image to you, but the data representing the image will stay at 
  770. 2000 by 2000.  Any operations (manipulations) that you perform on the image 
  771. will by done on the original image, the 2000 by 2000 one.  Now, let's say you 
  772. use the ReSize command to reduce the image to 640 by 480.  From as far as you 
  773. can tell, nothing will have changed.  This is because the image size is still 
  774. as big as the display can handle.  In reality you have changed the image size 
  775. and if you save the image it will be different than the one you originally 
  776. loaded.  The Image Information option on the main menu will keep you apprised 
  777. of the actual vs displayed resolution of the current image.  When you save a 
  778. file there is the option to save at the currently displayed size, the above 
  779. discussion is why that option exists. 
  780.  
  781.  
  782. ΓòÉΓòÉΓòÉ 3.2. Quick Dir ΓòÉΓòÉΓòÉ
  783.  
  784. An especially useful feature, the Quick Dir listbox is present in several 
  785. different dialogs: 
  786.  
  787. o File Open 
  788.  
  789. o Slide Show 
  790.  
  791. o File Save 
  792.  
  793. o Options It is only in the Options dialog the Quick Dir listbox can be 
  794.   modified. Aside from modifying the Quick Dir listbox, the Options dialog is 
  795.   not affected by it.  The format for an entry is to have a drive letter and 
  796.   full path 
  797.  
  798.   For Example  c:\images\gif there should not be any trailing slashes.  There 
  799.   is a limit of 10 entries that will be remembered. Others will be ignored. 
  800.   Unused entries should consist of blanks. 
  801.  
  802. The basic use of the Quick Dir is to allow the user to quickly access 
  803. frequently used directories. The actual use of the Quick Dir listbox varies 
  804. somewhat depending on the dialog. In the File Open and Slide Show dialogs Quick 
  805. Dir is accessed by using the pull down on the listbox. Doing so will cause the 
  806. current directory and drive to change to that selected in Quick Dir. With the 
  807. File Save dialog, invoking Quick Dir is the same, but instead of actually 
  808. changing the drive and directory, just the entry in the name of the file to be 
  809. saved will be updated.  If you want to change directories in the File Save 
  810. dialog you will have to use the drive and directory listboxes. 
  811.  
  812.  
  813. ΓòÉΓòÉΓòÉ 4. File Formats ΓòÉΓòÉΓòÉ
  814.  
  815. A variety of file formats are supported.  See each individual one for more 
  816. info. 
  817.  
  818. You should be aware of some limitations when doing conversions between 
  819. different file formats or if you are constantly rewriting reading and saving 
  820. the same image over and over again (See JPEG).  When JoeView reads a file, no 
  821. matter what the original format, it is stored as an 8 bit image (256 colors 
  822. max). This means that if you read in a JPEG, TARGA, Sun Raster, or PPM image 
  823. there exists the possibility that the original file is made up of more than 256 
  824. colors and so JoeView will reduce the colors down to 256.  So, if your goal is 
  825. to convert a 24 bit image stored in TARGA format to PPM there is a very good 
  826. chance that your image will suffer a loss in quality.  There are utilities 
  827. available to do true 24 bit conversions, if you are really concerned.  Most 
  828. likely the losses will be quite small. 
  829.  
  830. Eight bit formats will not suffer any degradation. 
  831.  
  832.  
  833. ΓòÉΓòÉΓòÉ 4.1. JPEG ΓòÉΓòÉΓòÉ
  834.  
  835. The JPEG reading and writing code is based on the following people's work: 
  836.  
  837. The Independent JPEG Group's JPEG software
  838. ==========================================
  839.  
  840. This software is the work of Tom Lane, Philip Gladstone, Luis Ortiz,
  841. Lee Crocker, Ge' Weijers, and other members of the Independent JPEG Group.
  842.  
  843. LEGAL ISSUES
  844. ============
  845.  
  846. The authors make NO WARRANTY or representation, either express or implied,
  847. with respect to this software, its quality, accuracy, merchantability, or
  848. fitness for a particular purpose.  This software is provided "AS IS", and you,
  849. its user, assume the entire risk as to its quality and accuracy.
  850.  
  851. This software is copyright (C) 1991, 1992, Thomas G. Lane.
  852. All Rights Reserved except as specified below.
  853.  
  854. Permission is hereby granted to use, copy, modify, and distribute this
  855. software (or portions thereof) for any purpose, without fee, subject to these
  856. conditions:
  857. (1) If any part of the source code for this software is distributed, then this
  858. README file must be included, with this copyright and no-warranty notice
  859. unaltered; and any additions, deletions, or changes to the original files
  860. must be clearly indicated in accompanying documentation.
  861. (2) If only executable code is distributed, then the accompanying
  862. documentation must state that "this software is based in part on the work of
  863. the Independent JPEG Group".
  864. (3) Permission for use of this software is granted only if the user accepts
  865. full responsibility for any undesirable consequences; the authors accept
  866. NO LIABILITY for damages of any kind.
  867.  
  868. Permission is NOT granted for the use of any IJG author's name or company name
  869. in advertising or publicity relating to this software or products derived from
  870. it.  This software may be referred to only as "the Independent JPEG Group's
  871. software".
  872.  
  873. We specifically permit and encourage the use of this software as the basis of
  874. commercial products, provided that all warranty or liability claims are
  875. assumed by the product vendor.
  876. ==================
  877.  
  878. The following is pretty much stolen verbatim for the JPEG information that is 
  879. supplied with the JPEG libraries. 
  880.  
  881. The Quality spin button lets you trade off compressed file size against the 
  882. quality of the saved image: the higher the quality setting, the larger the JPEG 
  883. file, and the closer the output image will be to the original input.  Normally 
  884. you want to use the lowest quality setting (smallest file) that decompresses 
  885. into something visually indistinguishable from the original image.  For this 
  886. purpose the quality setting should be between 50 and 95; the default of 75 is 
  887. often about right.  If you see defects at -quality 75, then go up 5 or 10 
  888. counts at a time until you are happy with the output image.  (The optimal 
  889. setting will vary from one image to another.) Quality 100 will generate a 
  890. quantization table of all 1's, eliminating loss in the quantization step (but 
  891. there is still information loss in subsampling, as well as roundoff error). 
  892. This setting is mainly of interest for experimental purposes.  Quality values 
  893. above about 95 are NOT recommended for normal use; the compressed file size 
  894. goes up dramatically for hardly any gain in output image quality. In the other 
  895. direction, quality values below 50 will produce very small files of low image 
  896. quality.  Settings around 5 to 10 might be useful in preparing an index of a 
  897. large image library, for example.  Try -quality 2 (or so) for some amusing 
  898. Cubist effects.  (Note: quality values below about 25 generate 2-byte 
  899. quantization tables, which are considered optional in the JPEG standard. 
  900.  
  901. Note:  some commercial JPEG programs may be unable to decode the resulting 
  902. file. 
  903.  
  904. Smooth Factor: Smooth the input image to eliminate dithering noise.  The value 
  905. selected, ranging from 1 to 100, indicates the strength of smoothing.  0 will 
  906. mean to not use smoothing and can be used instead of the check button.  The 
  907. Smooth option filters the currently displayed image to eliminate fine-scale 
  908. noise. This is often useful when saving files as JPEG: a moderate smoothing 
  909. factor of 10 to 50 gets rid of dithering patterns in the input file, resulting 
  910. in a smaller JPEG file and a better-looking image.  Too large a smoothing 
  911. factor will visibly blur the image, however. 
  912.  
  913. Optimization of entropy encoding parameters. Without this, default encoding 
  914. parameters are used. Optimize usually makes the JPEG file a little smaller, but 
  915. JoeView runs somewhat slower and needs much more memory.  Image quality and 
  916. speed of decompression are unaffected by optimize. It's also a win when you are 
  917. using low quality settings to make very small JPEG files; the percentage 
  918. improvement is often a lot more than it is on larger files 
  919.  
  920. When reading a JPEG, there are three mutually exclusive option that deals with 
  921. quantization of the colors (converting from a 24 to 8 bit image).  Your options 
  922. are: 
  923.  
  924. o Quickest but eh.  The one pass color quantization.  The fastest of the three 
  925.   , but probably will result in a noticeably inferior image.  Good for a quick 
  926.   look. 
  927.  
  928. o Not Bad.  This tries to implement Heckbert's Median Cut algorithm.  The code 
  929.   is hacked from XV by John Bradley of The University of Pennsylvania which is 
  930.   in turn based/hacked on code by Jef Poskanzer (ppmquant.c - quantize colors). 
  931.   It gets the job done, but sometimes not as fast as Best.  Quality in line 
  932.   with Best.  I am not sure, but I get the feeling that when viewing true 24 
  933.   bit images, this will give you the best conversion down to 8 bit. This should 
  934.   be a step below the best method in terms of quality but faster.  Make your 
  935.   own judgment.  It is not part of the regular JPEG libraries. 
  936.  
  937. o Best.  Floyd-Steinberg dithering is used. 
  938.  
  939.  
  940. ΓòÉΓòÉΓòÉ 4.2. Bitmaps ΓòÉΓòÉΓòÉ
  941.  
  942. The two important types of bitmaps supported are Windows and OS2 style bitmaps. 
  943. JoeView should read any of these type of bitmaps (RLE and non-RLE) with the 
  944. following caveats: 
  945.  
  946. o Black and White images that are stored by using modified Huffman encoding can 
  947.   not be read. 
  948.  
  949. o With certain small bitmaps that are used as icons, you currently get an 
  950.   unrecognized file type error. 
  951.  
  952. o OS2 allows the use of halftones and such.  JoeView does not read these but I 
  953.   have never even seen one. 
  954.  
  955. Saving bitmaps, on the other hand, is limited to non-RLE style.  Basically the 
  956. bitmaps will take up more space than RLE style. 
  957.  
  958.  
  959. ΓòÉΓòÉΓòÉ 4.3. GIF ΓòÉΓòÉΓòÉ
  960.  
  961. Does em'. 
  962.  
  963. The code for reading and writing GIFs is based on code from XV, see the PBM 
  964. section for the appropriate copyright notice. The code XV has for reading GIFs 
  965. is based on gif2ras.c, Copyright (C) 1988, 1989 by Patrick J. Naughton, 
  966. naughton@sind.sun.com.  The code XV has writing GIFs is based on flgife.c and 
  967. flgifc.c from the FBM Library, by Michael Maudlin. 
  968.  
  969. JoeView will read both GIF87a and GIF89a formats but will write only GIF87a 
  970. format. 
  971.  
  972. "The Graphics Interchange Format(c) is the Copyright property of
  973. CompuServe Incorporated.  GIF(sm) is a Service Mark property of
  974. CompuServe Incorporated."
  975.  
  976.  
  977. ΓòÉΓòÉΓòÉ 4.4. TARGA ΓòÉΓòÉΓòÉ
  978.  
  979. The code to read Targa images is based on tgatoppm.c by Jef Poskanzer.  This is 
  980. the copyright stuff from that file. 
  981.  
  982. /* tgatoppm.c - read a TrueVision Targa file and write a portable pixmap
  983. **
  984. ** Partially based on tga2rast, version 1.0, by Ian MacPhedran.
  985. **
  986. ** Copyright (C) 1989 by Jef Poskanzer.
  987. **
  988. ** Permission to use, copy, modify, and distribute this software and its
  989. ** documentation for any purpose and without fee is hereby granted, provided
  990. ** that the above copyright notice appear in all copies and that both that
  991. ** copyright notice and this permission notice appear in supporting
  992. ** documentation.  This software is provided "as is" without express or
  993. ** implied warranty.
  994.  
  995. JoeView does both RLE and non-RLE style files. 
  996.  
  997.  
  998. ΓòÉΓòÉΓòÉ 4.5. PBM ΓòÉΓòÉΓòÉ
  999.  
  1000. The code for reading and writing PBM files is based on code from XV, the 
  1001. following is copyright information from XV. 
  1002.  
  1003.  
  1004.  * Copyright 1989, 1990, 1991, 1992 by John Bradley and
  1005.  *            The University of Pennsylvania
  1006.  *
  1007.  * Permission to use, copy, and distribute for non-commercial purposes,
  1008.  * is hereby granted without fee, providing that the above copyright
  1009.  * notice appear in all copies and that both the copyright notice and this
  1010.  * permission notice appear in supporting documentation.
  1011.  *
  1012.  * The software may be modified for your own purposes, but modified versions
  1013.  * may not be distributed.
  1014.  *
  1015.  * This software is provided "as is" without any expressed or implied warranty.
  1016.  *
  1017.  * The author may be contacted via:
  1018.  *   US Mail:  John Bradley
  1019.  *        GRASP Lab, Room 301C
  1020.  *        3401 Walnut St.
  1021.  *        Philadelphia, PA  19104
  1022.  *
  1023.  *   Phone:   (215) 898-8813
  1024.  *   EMail:   bradley@cis.upenn.edu
  1025.  *
  1026.  
  1027. JoeView uses the term PBM loosely, there are really three (or six) different 
  1028. types of formats here.  They are: 
  1029.  
  1030.              PGM - portable graymap file format
  1031.  
  1032.    The portable graymap format is a lowest common denominator grayscale file
  1033.    format.  The definition is as follows:
  1034.  
  1035.    - A "magic number" for identifying the file type.  A  pgm  file's  magic
  1036.     number is the two characters "P2".
  1037.  
  1038.    - Whitespace (blanks, TABs, CRs, LFs).
  1039.  
  1040.    - A width, formatted as ASCII characters in decimal.
  1041.  
  1042.    - Whitespace.
  1043.  
  1044.    - A height, again in ASCII decimal.
  1045.  
  1046.    - Whitespace.
  1047.  
  1048.    - The maximum gray value, again in ASCII decimal.
  1049.  
  1050.    - Whitespace.
  1051.  
  1052.    - Width * height gray values, each in ASCII decimal, between  0  and  the
  1053.     specified  maximum value, separated by whitespace, starting at the top-
  1054.     left corner of the graymap, proceding in normal English reading  order.
  1055.     A value of 0 means black, and the maximum value means white.
  1056.  
  1057.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1058.  
  1059.    - No line should be longer than 70 characters.
  1060.  
  1061.    Here is an example of a small graymap in this format:
  1062.    P2
  1063.    # feep.pgm
  1064.    24 7
  1065.    15
  1066.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  1067.    0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
  1068.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
  1069.    0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
  1070.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
  1071.    0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
  1072.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  1073.  
  1074.  
  1075.    There is also a variant on the format, the RAW style.
  1076.    This variant is different in the following ways:
  1077.  
  1078.    - The "magic number" is "P5" instead of "P2".
  1079.  
  1080.    - The gray values are stored as plain bytes, instead of ASCII decimal.
  1081.  
  1082.    - No whitespace is allowed in  the  grays  section,  and  only  a  single
  1083.     character  of  whitespace  (typically  a  newline) is allowed after the
  1084.     maxval.
  1085.  
  1086.    - The files are smaller and many times faster to read and write.
  1087.  
  1088.    Note that this raw format can only be used for maxvals less than or equal
  1089.    to 255.
  1090.  
  1091.           PBM - portable bitmap file format
  1092.  
  1093.    The portable bitmap format is a lowest common denominator monochrome file
  1094.    format.  It was originally designed to make it reasonable to mail bitmaps
  1095.    between different types of machines  using  the  typical  stupid  network
  1096.    mailers  we  have today.  Now it serves as the common language of a large
  1097.    family of bitmap conversion filters.  The definition is as follows:
  1098.  
  1099.    - A "magic number" for identifying the file type.  A  pbm  file's  magic
  1100.     number is the two characters "P1".
  1101.  
  1102.    - Whitespace (blanks, TABs, CRs, LFs).
  1103.  
  1104.    - A width, formatted as ASCII characters in decimal.
  1105.  
  1106.    - Whitespace.
  1107.  
  1108.    - A height, again in ASCII decimal.
  1109.  
  1110.    - Whitespace.
  1111.  
  1112.    - Width * height bits, each either '1' or '0', starting at  the  top-left
  1113.     corner of the bitmap, proceding in normal English reading order.
  1114.  
  1115.    - The character '1' means black, '0' means white.
  1116.  
  1117.    - Whitespace in the bits section is ignored.
  1118.  
  1119.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1120.  
  1121.    - No line should be longer than 70 characters.
  1122.  
  1123.    Here is an example of a small bitmap in this format:
  1124.    P1
  1125.    # feep.pbm
  1126.    24 7
  1127.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1128.    0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
  1129.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
  1130.    0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
  1131.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
  1132.    0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
  1133.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1134.  
  1135.  
  1136.    There is also a variant on the format, the RAW style.
  1137.    This variant is different in the following ways:
  1138.  
  1139.    - The "magic number" is "P4" instead of "P1".
  1140.  
  1141.    - The bits are stored eight per byte, high bit first low bit last.
  1142.  
  1143.    - No whitespace is allowed  in  the  bits  section,  and  only  a  single
  1144.     character  of  whitespace  (typically  a  newline) is allowed after the
  1145.     height.
  1146.  
  1147.    - The files are eight times smaller and many times  faster  to  read  and
  1148.     write.
  1149.  
  1150.               PPM - portable pixmap file format
  1151.  
  1152.    The portable pixmap format is a lowest  common  denominator  color  image
  1153.    file format.  The definition is as follows:
  1154.  
  1155.    - A "magic number" for identifying the file type.  A  ppm  file's  magic
  1156.     number is the two characters "P3".
  1157.  
  1158.    - Whitespace (blanks, TABs, CRs, LFs).
  1159.  
  1160.    - A width, formatted as ASCII characters in decimal.
  1161.  
  1162.    - Whitespace.
  1163.  
  1164.    - A height, again in ASCII decimal.
  1165.  
  1166.    - Whitespace.
  1167.  
  1168.    - The maximum color-component value, again in ASCII decimal.
  1169.  
  1170.    - Whitespace.
  1171.  
  1172.    - Width * height pixels, each three ASCII decimal values  between  0  and
  1173.     the  specified  maximum  value,  starting at the top-left corner of the
  1174.     pixmap, proceding in normal English reading order.  The  three  values
  1175.     for each pixel represent red, green, and blue, respectively; a value of
  1176.     0 means that color is off, and the maximum value means  that  color  is
  1177.     maxxed out.
  1178.  
  1179.    - Characters from a "#" to the next end-of-line are ignored (comments).
  1180.  
  1181.    - No line should be longer than 70 characters.
  1182.  
  1183.    Here is an example of a small pixmap in this format:
  1184.    P3
  1185.    # feep.ppm
  1186.    4 4
  1187.    15
  1188.    0  0  0   0  0  0   0  0  0  15  0 15
  1189.    0  0  0   0 15  7   0  0  0   0  0  0
  1190.    0  0  0   0  0  0   0 15  7   0  0  0
  1191.    15  0 15   0  0  0   0  0  0   0  0  0
  1192.  
  1193.    There is also a variant on the format, the RAW style.
  1194.    This variant is different in the following ways:
  1195.  
  1196.    - The "magic number" is "P6" instead of "P3".
  1197.  
  1198.    - The pixel values are stored as plain bytes, instead of ASCII decimal.
  1199.  
  1200.    - Whitespace is not allowed  in  the  pixels  area,  and  only  a  single
  1201.     character  of  whitespace  (typically  a  newline) is allowed after the
  1202.     maxval.
  1203.  
  1204.    - The files are smaller and many times faster to read and write.
  1205.  
  1206.    Note that this raw format can only be used for maxvals less than or equal
  1207.    to 255.
  1208.  
  1209.    The above three descriptions are very slightly altered versions of descriptions
  1210.    originally written and Copyrighted (C) 1989, 1991 by Jef Poskanzer.
  1211.  
  1212. So, if you need to input a file format that JoeView does not support, here is 
  1213. your chance if you know the format of the data you already have.  Convert the 
  1214. data into the appropriate ASCII format style above.  It is probably simplest 
  1215. just to use the ppm format and let JoeView convert it down into the appropriate 
  1216. number of colors. 
  1217.  
  1218.  
  1219. ΓòÉΓòÉΓòÉ 4.6. X11 Bitmap ΓòÉΓòÉΓòÉ
  1220.  
  1221. The code for reading and writing X11 bitmaps was hacked from XV, see the PBM 
  1222. section for copyright info. 
  1223.  
  1224.  
  1225. ΓòÉΓòÉΓòÉ 4.7. Sun Raster ΓòÉΓòÉΓòÉ
  1226.  
  1227. The code for reading and writing Sun Raster files was stolen from XV, see the 
  1228. PBM  section for copyright info.  This particular code from XV was written by 
  1229. Dave Heath (heath@cs.jhu.edu) with additions by Ken Rossman 
  1230. (ken@shibuya.cc.columbia.edu). 
  1231.  
  1232.  
  1233. ΓòÉΓòÉΓòÉ 4.8. Utah RLE ΓòÉΓòÉΓòÉ
  1234.  
  1235. JoeView only reads Utah RLE files, it will not write them.  The code for 
  1236. reading Utah RLE files is based on code from XV, see the PBM section for 
  1237. copyright info. 
  1238.  
  1239.  
  1240. ΓòÉΓòÉΓòÉ 4.9. Slide Show Files ΓòÉΓòÉΓòÉ
  1241.  
  1242. JoeView can store a selection of files for use in a Slide Show.  These 
  1243. typically are given and extension of "sls".  You can load these files using the 
  1244. Slide Show Dialog or the regular File Open Dialog.  In addition, you can drag 
  1245. and drop  such a file onto JoeView. 
  1246.  
  1247.  
  1248. ΓòÉΓòÉΓòÉ 5. Key Help ΓòÉΓòÉΓòÉ
  1249.  
  1250. There are keyboard equivalents to many of the pull down menu commands.  Most 
  1251. are single character commands and will be shown on the menu underlined.  They 
  1252. are only valid when the main window is active.  They are: 
  1253.  
  1254. O  Open a file 
  1255.  
  1256. S  Save a file 
  1257.  
  1258. Z  Zoom in or out 
  1259.  
  1260. B  Brighten Image 
  1261.  
  1262. D  Darken Image 
  1263.  
  1264. G  Grayscale image 
  1265.  
  1266. C  Crop the image 
  1267.  
  1268. A  Auto crop the image using Average parameter 
  1269.  
  1270. I  Image information window 
  1271.  
  1272. H  Help table of contents 
  1273.  
  1274. K  This window 
  1275.  
  1276. N  Next image when in slide show mode 
  1277.  
  1278. Cntrl+N  Open File dialog next image 
  1279.  
  1280. Cntrl+P  Open File dialog previous image 
  1281.  
  1282. Alt+P Print Image 
  1283.  
  1284. + Increase image size by 10% 
  1285.  
  1286. - Decrease image size by 10% 
  1287.  
  1288. R  Refresh image 
  1289.  
  1290. T Toggle Title Bar on and off 
  1291.  
  1292. Cntrl+R Rotate image Clockwise 
  1293.  
  1294. Alt+R Rotate image CounterClockwise 
  1295.  
  1296. Cntrl+F Flip image Vertically 
  1297.  
  1298. Alt+F Flip image Horizontally 
  1299.  
  1300. Cntrl+O  Options Dialog 
  1301.  
  1302. Cntrl+S  Slide Show Dialog 
  1303.  
  1304. Space Bar  Minimize JoeView (someone's coming) 
  1305.  
  1306. Alt+C  Main Colors manipulations dialog 
  1307.  
  1308. Aggessive Palette can be toggled using Alt A 
  1309.  
  1310. Alt F4  Quit 
  1311.  
  1312. The Open File dialog has the following keyboard equivalents, they are active 
  1313. only when the Open File dialog is active.  They are: 
  1314.  
  1315. Cntrl+N Show next image 
  1316.  
  1317. Cntrl+P Show previous image 
  1318.  
  1319. Space Bar Minimize JoeView 
  1320.  
  1321.  
  1322. ΓòÉΓòÉΓòÉ 6. A Few Thanks ΓòÉΓòÉΓòÉ
  1323.  
  1324. The following people were kind enough to answer questions I posted to the net. 
  1325. The few minutes they took to respond to my questions saved me untold days of 
  1326. fruitless searching through .inf files.  I hope these words make a contribution 
  1327. towards their 15 minutes of fame. 
  1328.  
  1329. o Keith Murray 
  1330.  
  1331. o Jeroen Hoppenbrouwers 
  1332.  
  1333. o Gene Mangum 
  1334.  
  1335. o Roman Fischer 
  1336.  
  1337. o Anders Bjurman 
  1338.  
  1339. This is of course in addition to the people who have made their source code 
  1340. available for use by others.  This would be the JPEG, PBM, and XV authors who 
  1341. are listed in the respective file formats sections. 
  1342.  
  1343. The following people have made significant suggestions for improvement of 
  1344. JoeView and/or pointed out bugs. 
  1345.  
  1346. o Dan, Dick, Tom, Chance Glazing Donuts instead of working. 
  1347.  
  1348. o Steve M. Lacy Creation of FS Dithered bitmaps for wallpaper use. 
  1349.  
  1350. o Scott Hiles Create Slide Show files, Toggle Title Bar, Drag Drop Slide Show 
  1351.   Files 
  1352.  
  1353. o Rob Eitzen Can't access A/B drives, bug fix 
  1354.  
  1355. o Scott Harper Found lots of little bugs, good style criticisms, bitmap file 
  1356.   problems, ghost cropping rectangle (fix) 
  1357.  
  1358. o Reinhard Meyer Found truly obscure bugs, other suggestions 
  1359.  
  1360.  
  1361. ΓòÉΓòÉΓòÉ 7. Mo' Money, Employment ΓòÉΓòÉΓòÉ
  1362.  
  1363. This program is not exactly shareware but it did require a great deal of time 
  1364. and effort to write.  If you feel an overpowering urge to toss a few bucks my 
  1365. way I won't be offended, honest.  Cash is best, send it to: 
  1366.  
  1367. Joe Burkley 
  1368.  
  1369. 6312 Rancho Mission Rd., #307 
  1370.  
  1371. San Diego, CA 92108 
  1372.  
  1373. Have a need for some programming?  Consider this little application just a 
  1374. sample of what I can do.  Contact me at the above address and we can negotiate. 
  1375.  
  1376.  
  1377. ΓòÉΓòÉΓòÉ 8. Drag and Drop ΓòÉΓòÉΓòÉ
  1378.  
  1379. JoeView supports the dragging and dropping of an image file or slideshow file 
  1380. onto either the JoeView Icon or onto a running version of JoeView.  JoeView 
  1381. will not accept drag and drop operations while a Slide Show is running or while 
  1382. a file is currently being read. 
  1383.  
  1384.  
  1385. ΓòÉΓòÉΓòÉ 9. Command Line ΓòÉΓòÉΓòÉ
  1386.  
  1387. There are two possible command line options.  You can specify a file name for 
  1388. JoeView to load upon startup. 
  1389.  
  1390. For example: joeview c:\gifs\hooters.gif 
  1391.  
  1392. The other command line option is to create a Floyd Steinberg Dithered bitmap. 
  1393. The main purpose of this option is so that you can create background images for 
  1394. your desktop or lockup screens.  When you received this copy of JoeView, one of 
  1395. the files included should have been a REXX script to randomly generate 
  1396. background images using this command line option.  The format of the command is 
  1397.  
  1398. joeview -b input_file output_file or joeview -bs input_file output_file.  You 
  1399. should specify drives and paths for the input and output files.  The input file 
  1400. can be in any file format the JoeView normally reads.  The output file will 
  1401. always be an OS2 2.0 format bitmap.  The "-b" option causes JoeView to perform 
  1402. the dithering at full CPU utilization.  As the process is very CPU intensive, 
  1403. the "-bs" option is included.  This option is meant to mean -b slow.  Basically 
  1404. it puts JoeView in a low priority mode that causes the operation to take 
  1405. considerably longer than if you use "-b" but you'll find that your machine is 
  1406. much more usefull while the process is running. JoeView will not be visible 
  1407. when this option is invoked. 
  1408.  
  1409. The idea of using FS Dithering to create background bitmaps was originally 
  1410. proposed by Steve M. Lacy. 
  1411.  
  1412.  
  1413. ΓòÉΓòÉΓòÉ 10. Blue Screen ΓòÉΓòÉΓòÉ
  1414.  
  1415. If'n your startup image in JoeView is a blue screen, your JoeView.ini file has 
  1416. been corrupted.  Delete it and JoeView will create another.