DDDD III SSSS PPPP LL AAAA YY YY DDDDD III SSSSSS PPPPPP LL AAAAAAAA YY YY DD DD III SSS PP PP LL AA AA YY YY DD DD III SSSSS PPPPPP LL AA AA YYYY DD DD III SSSSS PPPP LL AAAAAAAA YY DD DD III SSS PP LL AA AA YY DDDDD III SSSSSS PP LL AA AA YY DDDD III SSSS PP LLLLLLLL AA AA YY Program written by Jih-Shin Ho (u7711501@bicmos.ee.nctu.edu.tw) Document written by Jih-Shin Ho (u7711501@bicmos.ee.nctu.edu.tw) and Oliver Weyand (chbrin3@nyx.uni-konstanz.de) Document modified by Ben Jos Walbeehm (Walbeehm@fsw.ruu.nl) Copyright (C) 1993-1994 by Jih-Shin Ho. All rights reserved. !!! Permission to use and distribute DISPLAY(Executable format) !!! !!! for any purpose and without fee is hereby granted, provied !!! !!! that you don't make profit from DISPLAY directly. That is, you !!! !!! can use DISPLAY to create things you like and sell them, but !!! !!! !!! !!! you CAN'T sell DISPLAY. !!! !!! !!! !!! For BBS and software distribution sites, some handling charge !!! !!! is allowed. !!! !!! This software is provided "as is" without express or implied !!! !!! warranty. The author is not responsible for any damage caused by !!! !!! this program. !!! Table of Contents: ------------------ (1) Introduction (2) General Notes (3) Supported Formats (4) Command Line Switches (5) Function Keys (6) Mouse Buttons + (7) Screen saver + (8) Preview (9) Initialization step (10) Detail (11) Special Effects (12) Tech. information (13) About the author (14) Final (1) Introduction ================ This program lets you READ, WRITE and DISPLAY images/movies with different formats. It lets you do some special effects (rotation, dithering, ...) on images as well. Features: Includes simple file management system. Supports 'slide show', 'batch conversion', 'contact sheet making', 'image preview'. There is NO LIMIT on image size. This program supports 8, 15, 16, 24 bits display. Supports movie files (DL, FLI/FLC, RAW, MPEG, AVI, GL, IFF/ANIM). Supports FLC making. + Tiny screen saver. + Simple CD player (including Volume control for Sound Blaster). Supports mouse. This Program is MEMORY-GREEDY. If you do not have enough memory, its performance is poor. The official site is NCTUCCCA.edu.tw:/PC/graphics/disp. + The beta test version of next release is in the beta directory. The IP address is 140.111.1.10 or 192.83.166.10 (2) General Notes ================= Line begins with '+' is newly added/modified after last version. Resources/parameters are in config file, config.dis. This file is read when DISPLAY starts up. You can use text editor to edit config.dis. If you encounter something unknown, please read display.faq and config.dis. (3) Supported Formats ===================== Read: GIF(.gif), Japan MAG(.mag), Japan PIC(.jpc), Sun Raster(.ras), Jpeg in Jfif(.jpg)*, XBM(.xbm), Utah RLE(.rle), PBM(.pbm), PGM(.pgm), PPM(.ppm), PM(.pm), PCX(.pcx), Japan MKI(.mki), Tiff(.tif), Targa(.tga), XPM(.xpm), Mac Paint(.mac), GEM/IMG(.img), IFF/ILBM/PBM(.iff,.lbm), Windows BMP(.bmp), QRT ray tracing(.qrt), Mac PICT(.pct), VIS(.vis), PDS(.pds), VIKING(.vik), VICAR(.vic), FITS(.fit), Usenix FACE(.fac), IRIS(.sgi), YUV(.yuv), RAW RGB(.rgb), PCPAINT/Pictor(.pic,.clp), RAW GREY(.gry), Photo-CD(.pcd), VORT output(.pix), WordPerfect Graphics(.wpg), Windows ICON(.ico), + ANSI screen file(.ans), Image INDEX(.idx), VIVID output(.img), + Thumbnail(.tnl). DL(.dl), FLI(.fli), FLC(.flc), RAW(.raw, produced by DMPEG), MPEG(.mpg), AVI(.avi), GL(.gl), IFF/ANIM(.anm). the extensions in () are standard extensions. Write: GIF, Sun Raster, Jpeg*, XBM, PBM, PGM, PPM, PM, Tiff, Targa, XPM, Mac Paint, Ascii, Laser Jet, IFF/ILBM, Windows BMP, Mac PICT, VIS, FITS, FACE, PCX, GEM/IMG, IRIS, YUV, RAW RGB, Postscript, RAW GREY, Wordperfect Graphics., Windows ICON, + Image INDEX(.idx), ANSI screen file, Thumbnail. Preview: GIF, Jpeg, Windows BMP, PBM, PGM, PPM, Targa, PCX, Mac Paint, Photo-CD. + '*' means 'support image comment'. All Read/Write formats support full color(8 bits), grey scale, b/w dither, and 24 bits image, if allowed for that format. (4) Command Line Switches ========================= DISPLAY understands several command-line parameters. Some of them are useful for setting up your preferred configuration or overwriting config.dis options. Others are for command-line processing. Symbol : aaa | bbb : You can use aaa or bbb. They are equivalent. [ aaa ] : aaa is optional. ( aaa ) : You must use aaa. < aaa > : Use other value or string to replace aaa. (a) For normal use : display [-d|--display ] [-s|--sort ] [-f ] [-a] [-n l|g] [--help|-?] [--target|-t ] [--mask|-m 'filename_mask'] [--report|-r ] initial_display_type: 8 (SVGA, default), 15, 16 (HiColor), 24 (TrueColor) sort_method: 'name', 'ext'. -f: Read user specified config file only. -a: Always set to highest display type -n: Do not read Local or Global config file. Global: where DISPLAY.EXE resides. Local: where you start DISPLAY. -t: change to the specified directory when DISPLAY starts up. filename_mask: separated by ';'. quotation marks are needed before and after filename_mask. report_file: Contains useful information generated by DISPLAY. Please don't use relative path(e.g.: ../qqq/report). (b) For command-line single image/movie viewing : display [--width|-w ] [--height|-h ] + [--noask|-k] image/movie_file -w & -h: for image format without information header(YUV,RGB,GREY). + -k: Don't ask any question, start movie playing immediately. (c) For command-line batch conversion : display (--batch | -b) output_format [--bw|--grey|--color|--true] [--dialog | -g] [--report|-r ] (input_file | input_file output_directory | input_file output_file | input_files output_directory) output_format: Standard extensions. Like gif, bmp ... (see section (6)) bw,grey,color,true: B/W dither, Grey scale, 8bit full color, 24bit true color. The default color type for batch conversion is 8bit full color. -g: DISPLAY will let you change the setting of output_format if there is any. (d) For command-line slide show : display [--slide|-l] [--noask|-k] [--report|-r ] (image_files | @response_file) -l: Tell DISPLAY you want slide show. -k: Don't ask any question, start slide show immediately. response_file: read display.faq. (e) For command-line contact sheet generation : display (--sheet|-e) [--report|-r ] batch_contact_sheet_script for the batch_contact_sheet_script format, read display.faq. + (f) For command-line movie playing : + display (--movie|-v) [--noask|-k] [--preload|-p 0|1] + [--report|-r ] movie_files + + -k: Don't ask any question, start movie playing immediately. + -p: Preload or not. + (g) For command-line UUdecode : + display --uud files + + Wild-card filenames are sorted by name in ascend order. + Notes: Files are written to current directory. + (h) For command-line UUencode : + display --uue [--line ] files + + --line: Number of lines to be written to one file. Default is 950. + 0 means 'don't split file'. + Notes: Files are written to current directory. Please read display.faq for the information not mentioned here. (5) Function Keys ================= Escape : Abort function and return. RETURN : Select. (a) In menu selection : ESCAPE,F10 : Quit program (prompted). ALT-X : Quit program without prompting. F1 : Show DISPLAY.DOC. CTRL-F1 : Show user-defined help file. (read config.dis) F4 : Change parameters. ALT-Z : Shell to DOS. F9 : For those who cannot remember all commands of DISPLAY. t,T : Tag file. (Untags tagged files) + : Tag a group of files. (See match.doc) ALT-T : Tag all files. u,U : Untag file. - : Untag a group of files. (See match.doc) ALT-U : Untag all files. + * : Reverse tag. CTRL-A -- CTRL-Z : Change disk drive. F2 : Change disk drive. F3 : Change filename masks. (Separated by ';') (See match.doc) + CTRL-F3: Change exclude masks. Don't show files which match these masks. F7 : Make Directory. F6,m,M : Move file(s). ALT-M : Move single file (ignore tags). F8,d,D : Delete file(s). ALT-D : Delete single file (ignore tags). r,R : Rename file. c,C : Copy File(s). ALT-C : Copy single file (ignore tags). ALT-A : Re-read directory. Keep current description entries. ALT-B : Re-read directory. Discard current desciption entries. ALT-S : Save config file. BACKSPACE : Go up one level in the directory tree. F5 : Some effects on pictures, e.g. flip, rotate ... z,Z : Display first 10 bytes of file in Ascii, Hex and Dec modes. f,F : Display disk free space. s,S : Slide Show (shows tagged files). ESCAPE to terminate. b,B : Batch conversion (converts tagged files to a single format). You can perform up to 8 special operations. Each is independent of the others. e,E : Contact sheet making. q,Q : Accumulation color quantization. Finds the best palette set for a group of files. Very useful for producing animation pictures. (read display.faq) l,L : List available graphic/text modes. o,O : Display font. v,V : View text file. x,X : View binary file. + a,A : View ANSI screen file(s). + If you view tagged files, use F10 to interrupt. + n,N : Show image comment. + ALT-N : Write image comment to file. ALT-E : Edit description entry. (see display.faq) + ALT-W : Write description and/or image dimension to description file. + (see display.faq) Note: You must set resource 'wrtie_desc_dim' + to 1 to enable the dimension writing. + ALT_F : Load description and/or image dimension from DEFAULT description + file. (see display.faq) Note: If 'use_perm_desc' is active, load + desc. and/or dim. from permanent desc. file. + ALT_G : Load description and/or image dimension from CURRENT description + file. (see display.faq) Note: same as above. + g,G : Set CURRENT description file to the file under select bar and + load it. Ins : Change display type (8, 15, 16, 24 bits). Del : Change display resolution. TAB : In mode selection screen : Change process target. (read display.faq) In file selection screen : Show previously loaded image. w,W : Write previously loaded image. p,P : Turn preview on/off. + ALT_H : Toggle between 'graphic text' and 'normal text' modes. Page Up/Down : Move one page. Left/Right arrow : Change display type In 'screen' & 'effects' menu. 0..9 : SHIFT-A..Z : Jump to first file whose name starts with this character. (b) In graphics mode : + RETURN : return to text mode. If 'return_to_next' are true and current + image is still image, show next still image. + In this mode, movies and other non-still images are ignored. SPACE,ESCAPE : return to the text mode. + : Go to next resolution. - : Go to previous resolution. Arrow keys, Home, End, Page Up, Page Down : Scroll image. Home: Left-most. End: Right-most. Page Up: Top of image. Page Down: Bottom of image. CTRL-Arrow keys: Crop image by one line. CTRL-SHIFT-Arrow keys: Big Crop (Controlled by resource 'big_crop_step'). F1 .. F8 : Gamma correction. F1,F3,F5,F7: decrease Red,Green,Blue,All. F2,F4,F6,F8: increase Red,Green,Blue,All. F9,F10 : Zoom Out/In. ALT-Z : Pop out graphic menu. SPACE to close. ALT-E : Edit description entry. + ALT_B : Toggle between normal mouse mode and mouse ball mode. + (see displaay.faq) (c) In text viewer : F2 : Search string (case-sensitive). F3 : Search string (case-insensitive). (d) In contact sheet preview & Postscript preview : '+' : Increase scaling factor. '-' : Decrease scaling factor. Ins,Del : Fine tune(Inc/Dec) scaling factor. (e) In Slide show : If the delay time is 0, the program will wait until you hit any key (except ESCAPE). 'w' or 'W' : pause, any key to continue. Up-Arrow : Go back one image. ALT-D : Mark current image as deletable. '-*-' is displayed at the left-up screen corner. ALT-U : Unmark current image. Note: Reverse slide show is slower. You must set 'delay time = 0' and 'not scroll' to use Up-Arrow and ALT-D/ALT-U. Before leaving slide show, if there are images marked as deletable, DISPLAY will ask you if you want to delete these images. (f) In movie: SPACE : pause playing. If you press 'w' or 'W' at this time, DISPLAY writes current frame to file. After writing, playback pauses at next frame. ESCAPE : Terminate playing. (g) In ANSI viewer: + ALT_B : Toggle between normal mouse mode and mouse ball mode. + (see display.faq) + (h) In image INDEX viewer: + TAB : Change focus to next image. + SPACE, RETURN : View this image. + ESCAPE : Terminate. + (i) In CD player: + 1 .. 9 : Select track directly. + + : Increase master volume. (Sound Blaster) + - : Decrease master volume. (Sound Blaster) + Ins : Increase CD volume. (Sound Blaster) + Del : Decrease CD volume. (Sound Blaster) (6) Mouse Buttons ================= MIDDLE button and CTRL-RIGHT button always mean ESCAPE. (a) in read/write menu: single-click LEFT or RIGHT button = 'move select bar'. double-click LEFT button = RETURN. double-click RIGHT button = SPACE. CTRL-LEFT button = Tag. (b) in other text menus: RIGHT button means SPACE. single-click LEFT button = 'move select bar'. double-click LEFT button = RETURN. (c) in contact sheet preview: RIGHT = show/hide mouse cursor. LEFT = move an image piece if the mouse cursor is shown, else leave graphics mode. CTRL-LEFT = move contact sheet. (d) in image display screen: RIGHT = show/hide mouse cursor. LEFT = move the image around the screen if the mouse cursor is shown, else leave graphics mode. CTRL-LEFT = move one page. SHIFT-LEFT = Pop out graphic menu. You can move this box around screen by click and drag. ALT-LEFT = define rectangle for cropping. Releasing left button will crop image if ALT key is still pressed, else do nothing. CTRL-ALT-LEFT = toggle showing image coordinates. (e) in mode selection screen: Click LEFT button at: 'Imag8' or 'Imag24' : change processing target. '000 x 000 x 000' or '000 x 000' : change display type. '<--' or '|||' : change linking status. (controlled by resource 'auto_link_24_to_8'). + (f) in text/ansi-screen viewer: + RIGHT button : Same as SPACE. + Click LEFT button at: + Top of screen : Scroll down one page. + Bottom of screen : Scroll up one page. + Left end of screen : Scroll right. + right end of screen : Scroll left. + Upper half of screen: Scroll down. + Lower half of screen: Scroll up. + (g) in image INDEX viewer: + LEFT button : Same as (d) + RIGHT button : View this image. In some text regions the mouse cursor will change. Press the LEFT button to accomplish that. (7) Screen saver ================ + Use resource 'screen_save_time' in config.dis to control the idle time + to active screen saver. You can also move mouse cursor to the following + place to control screen saver: + Upper-Left corner : Never sleep. + Low-Right corner : Sleep now. (8) Preview =========== Preview lets you see the small image of this picture before loading it. You can use key 'p' to turn on/off preview (DISPLAY will switch to graphic text mode if necessary). Currently DISPLAY support 2 strategies for preview, i.e. loading preview from .TNL file and original image. The first method is faster, but you need to make .TNL file first. The procedure of loading preview is described below: (use_tnl_preview & global_tnl_path are resources in config.dis) 1. If 'use_tnl_preview' is false(i.e. 0), goto step 3. If 'global_tnl_path' not specified, goto step 2. Load preview from .TNL file within 'global_tnl_path'. Filename is the same as current image filename, except that extension is changed to TNL. If success, return. 2. Load preview from .TNL file within current directory. If success, return. 3. Don't use .TNL file. Load preview from current image. Return. (9) Initialization step ======================= The following is what happens when you start display. There's nothing you have to do, but it helps to avoid errors. The important thing is, that a command-line option overrides the configuration file option. 1. Find allowed screen resolutions (for .grn video drivers only). 2. Read the configuration files (Global first, then Local). Global: where DISPLAY.EXE resides. Local: where you start DISPLAY. If you use '-f' command-line option, Global and Local config files ignored. The specified file is used. 3. Process the command-line options (if any). So command-line options override the configuration file. 4. Now, RUN. (10) Detail ========== GENERAL RULES This section will describe the menus and options you can choose from. You can read through it or just start the program and play around. When you have a problem you can come back and read the section you need. Most things are self-explanatory. Look for the comments behind a possible command. Also keep an eye at the first and last row of the screen: DISPLAY will tell you in most cases what is going on. There are several fields with a special meaning (i.e. [ Auto Read ]). You can activate them by moving the cursor inside the marks and then click the left mouse button. In any MENU you can call a pull-down-menu by pressing the F9 key or moving the cursor to the top-line and click a button. The different functions can also be selected by using a hot-key. Sometimes DISPLAY will ask you questions. You can answer them with a mouse click or by pressing the first (capital) letter of the answers (i.e. Y or y for yes). Allowed operations are shown in white the others in grey (if you use the default colors). ----------------------------------------------------------------------------- THE READ-MENU ----------------------------------------------------------------------------- After starting DISPLAY, you will find yourself in the read-menu. You will see a file list of the directory you started DISPLAY from (or the directory you have specified with the -t command line option). Which file information you see, depends on your selection in the config.dis file. You can choose from different informations (including 4DOS description files). There are some marked fields you can use with the mouse. In the pull down menu-bar you will find 8 headers with a different number of options. Because all operations are accessible with short-cuts, that's the easiest way to call them. For some operations (i.e. slide show) you have to tag at least one file. For Reading a file (image, movie) simply select one and press RETURN or double click with the left mouse button. Display will autodetect the correct format by itself. If you have problems try using the SPACE bar or double click with the right mouse button for selecting a format manually. When image dimension is shown, '*' means that this image is 24-bit. percentage means the compression ratio(file size/image size). where image size is image_width * image_height * pixel_size(1 or 3). There is a status line at the bottom of screen. 'preview' mean preview is on. 'gamma' means gamma correction is used. 'desc' means file descriptions are changed. 1. HELP Here you find some informations about display and it author. You can choose the complete help (this file) and a short overview of key assignments. Calling help will load the DISPLAY.DOC file. It contains help about possible actions and a list of all short-cuts. There is also a description of the meaning of the mouse buttons (be sure to check them out, because they change, depending on the menu you use). The second file is user defined, so you can write whatever you want. The actual file brief.doc is just an example. 2. FILE You have several options to manipulate files. You can delete, move, copy, rename and view files. The options for shelling to DOS and quiting the program are also located under this header. You can perform the actions on a single file, a group of files, or the file currently under the marker. 3. DIR From inside DISPLAY you can make directories. Another point is rereading the current directory, for updating changes you have written to disk. 4. OPERATION That's the menu with the real highlights of DISPLAY. Here you can choose from the options: slide show, batch conversion, contact sheet, accumulate quantization, and the special effects. Further you can display the fonts comming with DISPLAY, show and write a already loaded image, and unpack gl-files. You can also create a .flc movie. To do so, you must tag the images (frames) and then select MAKE FLC. 5. CHANGE Under this header you will find options to select the image type and graphic resolution (for a list of possible modes for your graphic card take a look at the status menu or type L). Other options are for changing the working-drive and for editing the file mask (see match.doc). 6. TAG Believe it or not this one is for tag and untag files (single, group, all). I think that's all you must know. 7. OPTION This menu point is for changing the defaults. Open the submenu and you will see a number of fields, where you can change most parameters that DISPLAY uses. You can activate them just for one run or make them the default by saving a new config.dis. You can work with different configur -ations, when you use different local config.dis files (i.e. make directories for the users of your system, if there is more then one). If you don't understand the meanings of parameters, please read config.dis. 8. STATUS Here you can get informations about your graphic card, RAM, disk space, and the formats of your image files. ----------------------------------------------------------------------------- THE WRITE-MENU ----------------------------------------------------------------------------- When you choose an option that will write changes to your disk, you will sometimes enter the write-menu (i.e. moving files). In the write menu you will find other marked fields for use with mouse. Although you will see the same headers in the pop-up-menu, most of the options are disabled. Also the most short-cuts won't help you. I think you will use this menu without problems, because it is very self-explanatory. ----------------------------------------------------------------------------- THE SCREEN-MENU ----------------------------------------------------------------------------- Once you have loaded a picture, you will see the screen-menu (if you don't set the 'auto_display_image' to 1). It has a different look and pop-up-menu structure. If the loaded file is a movie, you will find yourself in another menu, which is optimized for the additional needed options you need to display movies. The marked fields in the screen-menu are for viewing an image in the selected resolution or writing it to file. Further you can go back to the read-menu or exit the program. On the left you see three bigger fields. They are for those of you, who are using a mouse and don't want to use the keyboard for pressing the return, space, or esc keys. The graphic modes you can choose from (to show the image) are in white, the others are grey. Pressing F9 again will bring up the headers of the pop-up-menu. These have changed a little, compared to the read/write menu 1. HELP Same as in read/write menu. 2. FILE Only the exit option is still there, for the other things you have to go back to the read/write menu. 3. OPERATION Three options are now in the submenu. You can choose between special effects, display fonts, and change processing target. The last option means to change between palette images (most 8-bit images are of that type) and RGB-pictures (truecolor, highcolor). 4. OPTION Same as in read/write menu except for the preview option. 5. STATUS The possible graphic and text mode are shown here (depends on your hardware and the driver you use). 6. UTIL What you find in this submenu are some often used operations from the special effects menu (look there for a description of the comands). Another way to manipulate your image is the pop-up menu in graphics mode. There you can perform some effects without leaving the picture. (11) Special Effects ==================== ----------------------------------------------------------------------------- SPECIAL-EFFECTS-MENU ----------------------------------------------------------------------------- When you start manipulating your pictures you will at some point look in the special-effects-menu. The different effects are sorted in 6 groups. As mentioned above you can rotate, flip, resize, mix, and convert images. Most often other programs offer only some of the operations DISPLAY is able to perform. Some other effects DISPLAY performs are otherwise found in professional and expensive graphic packages only! In this chapter you will find the complete list of possible effects with some short comments. The numbers are the same as in DISPLAY. If you want to make some of these effects the defaults for batch conversion please find the [Batch_Convert] section in config.dis and read the comment. At the end of this section are some more detailed explanations of selected special effects (marked with an '*'), don't miss them !! Number Operation Comment (if necessary) (01)-(01) Flip Horizontal - (01)-(02) Flip Vertical - (01)-(03) Rotate Clockwise (90) - (01)-(04) Rotate Counter-clockwise (90) - (01)-(05) * Rotate/Shear image(any angle) lets you rotate the image any (->24) angle you want. If you don't know what shearing means just do it. It's easier to look than to explain. (02)-(01) * Resize image ( ->24 ) the resizing operation will promote the image to 24-bit if you smooth it. In the upcoming screen are some more options: You can change the size by pixel, by %, or resize different images to the same size (batch conver- sion) (02)-(02) Auto Crop cuts off "unused" pixel. Better use the online crobbing in graphic mode (Crtl-cursor). Useful for batch conversion (02)-(03) * Mix/Concat two images(->24) overlay or put together two images with different options (02)-(04) * New Dimension Adjust the image dimension. Adding background or cropping if necessary. (02)-(05) Crop image only (any position) cuts off parts of the image you can specify the position and the offset (03)-(01) Convert to Grayscale - (03)-(02) Do B/W Dither try FS (Floyd-Steinberg) first (03)-(03) Pseudo Color do you like strange effects ? (03)-(04) * Color Quantization(24->8) statistical should be first choice. It's good and fast. (03)-(05) Promote to 24-bits(8->24) Will be done if needed, so you need this not often (04)-(01) Histogram Equalize enhance the contrast. (04)-(02) Smooth/Enhance Images(->24) - (04)-(03) Edge Enhancement(->24) find the image 'edge'. (04)-(04) Negate Image - (04)-(05) Oil paint(->24) ever wanted to be a painter ? (04)-(06) Gamma Correction better use F1-F8 in graphic mode. Useful for batch convert (04)-(07) Cheesy Embossing(->24) convert color to height-field (04)-(08) * Remove unused colors(8) - (04)-(09) Swap R/G/B make some funny images ! interesting for pseudo-colored images. (04)-(10) * General convolution Do 3x3 matrix multiplication Try to understand the given expression (it's simpler than it looks). (05)-(01) Discard 24-bit image(24) - (05)-(02) Discard 8-bit image(24) - (05)-(03) Push image into stack - (05)-(04) Pop image from stack - (05)-(05) Clear stack - (06)-(01) Load Palette Table - (06)-(02) Save Palette Table - (06)-(03) Display Palette Table - (06)-(04) Push Palette Table - (06)-(05) Pop Palette Table - Detail Explanations of Special Effects -------------------------------------- DISPLAY can store both 8-bit and 24-bit images in memory. If 8-bit image presents, 'Imag8' is shown in the screen mode/resolution selection scren. Otherwise 'NULL8' is shown. For 24-bit image, 'Imag24' or 'NULL24' is shown. If 'Imag8' or 'NULL8' is highlighted, all special effects are performed on 8-bit image, which is called processing target. Of course, error message is shown, if there is no 8-bit image ('NULL8' is shown). In general DISPLAY can make the best decision for you. You can also use TAB key to change the processing target. The general rule is: The processing target is always the newly saved image. If possible, DISPLAY keeps the target type. That is, after processing 8-bit image is still 8-bit. If it is not allowed, type tranformation occurs. For exmaple, 'Flip image' keeps the target type, while 'Quantization' converts 24-bit image to 8-bit image. The follow is the used symbols: -> 24 : Result is always 24-bit image(with some exceptions). -> 8 : Result is always 8-bit image. 8 -> 24 : This effect works on 8-bit image only and produces 24-bit image. 8 : This effect works on 8-bit image only. Image type is preserved. Some effects(or called operations) are easy to understand. Just do it and see the result. Some are difficult to understand. Here I make the detail explanations of some effects. (01)-(05) Rotate/Shear image (any angle)(->24) Antialias : The result looks more smooth. Background R,G,B : Used to fill the unused area in the result. (02)-(01) Resize image (->24) Image width, Image height : You can use '%' to specify the percentage relative to the original image domension. Preserve aspect ratio : DISPLAY keep the original width v.s. length ratio in the result. Smoothing : The result looks more smooth. If this opation is off, image type is preserved. Otherwise 24-bit image is produced. Resize method (for batch) : This option works for batch conversion only. Absolute : Image is resized to the specified size. Relative : Image is resized to the specified percentage relative to the original image. Bounded box : Image is resized to the specified bound box size. The result is always smaller than or equal to the bound box. Use 'Preserve aspect ratio' to control the aspect ratio. + Fix width : If 'preserve aspect ratio', use the specified + image width and adjust image height so that + the new aspect ratio is the same as original, + otherwise same as 'Absolute'. + Fix height : Same as above but applied to height. (02)-(03) Mix/Concat two images (->24) This is the only one effect that works on two images. Fore over Background(no w.) : Very simple. If the pixel in forground image is BLACK(that is, pixel value is 0), it is replaced by the corresponding pixel in background image. Background R,G,B : Used to fill the unused area in the result. (02)-(04) New Dimension This effect doesn't resize image, just change the image size. If the new size is smaller than original size, cropping is performed. Otherwise, unused area is filled with Back- ground R,G,B. For 24-bit image, the result is always 24-bit. For 8-bit image, if number of colors is greater than 256, the result is converted to 24-bit. (03)-(04) Color Quantization (24->8) This is the most complicated operation in DISPLAY. I recommend the 'Statistical' and 'Variance Based' methods. Fixed 256 : Worse quality, fast, always 256 colors. Median Cut : quality better the 'Fixed 256', slightly slow. Median Cut(Better) : The best quality of all, need LARGE memory, slowest. I don't recommend you the method. Grey 256 : Convert to grey, always 256 colors, fastest. Variance Based : Good quality, accetable time and memory comsumption. Statistical : Actually, I can hardly tell the difference between this method and 'Variance Based'. Current Palette : Useful if you want to produce images that use the same palette. Use 'display palette table' to show current palette. Ordered(fast) : The fastest method for color quantization. Don't need any additional memory. Neural Net(256) : Always 256 colors. The quality is controlled by 'neuquant_sample_factor' resource. (04)-(08) Remove unused colors (8) This effect trys to remove unused and duplicated colors from 8-bit image. It can decrease the number of colors. (04)-(10) General convolution (-> 24) I think that mathematical expression is more clear: _ _ _ _ | (x-1,y-1) (x ,y-1) (x+1,y-1) | | K0 K1 K2 | A = | (x-1,y ) (x ,y ) (x+1,y ) | , B = | K3 K4 K5 | | (x-1,y+1) (x ,y+1) (x+1,y+1) | | K6 K7 K8 | - - - - new pixel at (x,y) = (sum all A(i,j) * B(i,j)) / overall_divider For those without matrix knowledge: Think of A as a picture. 1 1 1 The B matrix are the 9 values you can fill 1 1 1 in the Kernel fields. The multiplication of 1 1 1 two matrices (which must have the correct row and column size) results in a single value. R R R Now imagine that 'picture' A (3x3 pixel) G G G 3xR+3xG+3xB consists of colored lines (i.e. Red Green Blue) B B B and all K-values in B equals '1'. You'll get a new center pixel, which is bright 3 red + 3 green + 3 blue white. If you set the overall divider to 50 the resulting pixel will be grey (dark white). So as a result you will mix-up the colors of your picture. The divider sets the brightness. (12) Tech. information ====================== Program (user interface and some codecs) written by Jih-Shin Ho. Some codecs are borrowed from XV (2.21) and PBMPLUS (Dec. 1991). JPEG is based on the JPEG library(5a) by the Independent JPEG Group. Tiff is based on the Tiff library(3.2) from ftp.sgi.com. DL is based on xdl.c & Xanim269. FLI/FLC is based on the article in DDJ (Mar. 1993). MPEG is based on Berkeley mpeg_play 2.0. AVI(CRAM,CVID,ULTI) is based on Xanim269 by Mark Podlipec. MPEG split is based on mpgsplit by Stefan Eckart. Compiled with DJGPP. All video drivers are borrowed from DJGPP and GRX. You can get the whole DJGPP and GRX package from : omnigate.clarkson.edu: /pub/msdos/djgpp or Simtel mirror sites. (13) About the author ===================== I am a student in National Chiao-Tung University, Taiwan, R.O.C.. Why do I write DISPLAY ? Because I can't find any viewer in DOS world which can fulfill my needs. I want to have a viewer for my personal use, so that I can do any experiment I want to do. It is obvious that the easiest and best way is to write a viewer by myself. The first thing I think of is which compiler I should use. Turbo-C ? No, I don't want to bother with segment and offset any more. Watcom-C ? No, I don't have money to buy it. DJGPP ? YES, it is a 32-bit C compiler with good reliability becuase the engine is GNU C compiler. The most important reason is that it is FREE. I develop DISPLAY on 486DX-33 with 16MB ram, So memory is not a problem. I decide to write program in UNIX style, because DJGPP emulates the UNIX environment. Thanks to the virtual memory function in DJGPP, I don't need to worry about the memory allocation. In the initial stage, I just write DISPLAY for my persion use. Finally, I want to hear others' opinions, so I release it to the Net. Many people give me suggesitons, encouragement and bug reports. They all help to keep DISPLAY growing. The role of DISPLAY also changes from plain viewer to multi-purpose viewer. Now DISPLAY is not just my program because it includes many ideas from the users. Finally, if you think that DISPLAY is good enough and would like to write a postcard to me, my physical address is : Room 1410, Graduate Student Dorm., National Chiao-Tung University, Hsin-Chu 300, Taiwan, R.O.C. (14) Final ========== This document is not well written. If you have any PROBLEMS, SUGGESTIONS, COMMENTS on this program, please send a mail to u7711501@bicmos.ee.nctu.edu.tw (140.113.11.13). (There is NO anonymous ftp on this site.) I need your suggestions to improve this program. Acknowledgments: I should like to thank the authors of XV and PBMPLUS for their permission to let me use their subroutines. Also, I thank the authors of the TIFF and JPEG libraries. Thank you DJ. Without DJGPP I can't do anything on a PC. The author would like to thank Olivier Dumas, Ben Jos Walbeehm, Bryan Woodworth and other users for their advice and suggestions. The author would like to thank NCTUCCCA for offering a place for DISPLAY. Jih-Shin Ho u7711501@bicmos.ee.nctu.edu.tw