The Diamond Manual (c) Impulse, Inc. 1987/88 Hardware Requirements - Amiga computer with minimum 512K memory (minimum). (1MB of RAM memory or more is reccommended) - Amiga Kickstart and Workbench version 1.2 or greater - One floppy drive (minimum). - Hard drive recommended but not necessary. Introduction Welcome to Diamond, a powerful multi-mode paint program with a number of unique capabilities. Diamond works in all currently available Amiga graphics modes including Lo-res, Hi-res, HAM, HAMPlus, and Extra Halfbrite. It's currently the only Amiga paint program that reads and writes RGBN files (used by Turbo Silver) directly. You can use nonstandard picture and screen sizes, and work with any number of bitplanes in Lo-res and Hi-res. What is HAM? Although Diamond can be used in any standard Amiga graphics mode including Extra Halfbrite, it is primarily a HAM digitizing and paint program. In most cases, the maximum number of bit planes that an Amiga screen can use is five, limiting the maximum number of simultaneous onscreen colors to 32. Diamond lets you work with 12-bit images such as the RGBN files produced by Turbo Silver that on most computers would require an eight-megabyte frame buffer to display. It does so by virtue of the special Amiga graphics mode called Hold And Modify, or HAM for short. In traditional register-mapped computer displays, the value of a pixel in the screen bitmap determines the hardware register from which the pixel's color value is fetched, so that the colors of an entire image are defined in a few bytes of RAM. In HAM displays, each pixel is represented by six bits in the screen bitmap. Since Hi-res displays are limited to a maximum of four bitplanes, HAM displays must be 320 pixels wide maximum. In HAMPlus mode, if the first two bits are both zero, the pixel's color value is obtained from one of the 16 color registers. However, if either or both of the first two bits is set to one, the interpretation process is quite different. First the pixel's value is copied over from the one immediately to its left. Then one of the pixel's three color components--red, green, or blue--is set to the value of the pixel's lower four bits, a number between 0 and 15. If the first two bits are 01, the blue component is modified. If they're set to 10, the red bits of the pixel to the left are replaced. And if they're set to 11, the green component is altered. Thus the term Hold and Modify. Your color selection is extended from the normal 32 colors by allowing you to copy (Hold) two of the three color values used by the preceding pixel and to change (Modify) the other value to the new value specified by the lower four bits of the pen number. There are a few limitations to the HAM mode that you should be aware of. When you're only using HAM colors on the screen, since you can change only one color component per pixel, it make take as many as three pixels to change completely from one color to another, which can sometimes causes an undesirable fringing effect. However, use of the HAMPlus mode with careful palette selection can overcome this to a great extent. Also, since each pixel's value is usually determined by its neighbor to the left, changing a pixel can alter all pixels to its right on the scan line. What is Extra Halfbrite? Extra Halfbrite is another special graphics mode available with Diamond for digitizing and painting that gives you 64 colors to work with. EHB is an extension of the Lo-res mode, and can only be used with Amiga 500's and 2000's and later models. Some late-model 1000's are also equipped for this mode. If you own an earlier 1000 consult your retailer for an upgrade. The first half of EHB's 64-color palette is determined the same way Lo-res's 32-color palette. That is, you're free to choose any and all from the Amiga's 4096-color palette. The second set of 32 colors is created automatically by the Amiga, based on your selection of the first 32, each one at half the brightness of its counterpart in the first set. If you change a palette color, its counterpart also changes. You can use the extra 32 colors anywhere on the screen, but you can't set them independently. Making Backups As Diamond is written to be compatible with the Amiga's multitasking operating system, it is not copy-protected. Use your standard disk copy procedure to back up the program disk (see your owner's manual for details), and store the original away in a safe place. Use the copy as your working disk. Using the Program This manual assumes that you're familiar with standard usage of the Amiga's Intuition interface--use of the mouse, windows, and menus. If not, please read the owner's manual that came with your computer. As a brief review, whenever the manual indicates that you're to select something from the screen, position the mouse pointer over the object and click the left mouse button. However, to select a menu item, press and hold the right mouse button down, and release it when the desired item is highlighted with the mouse pointer. Using the File Requester Whenever you use the Load, Save, batch processing or Merge commands Diamond presents you with a File requester. The topmost gadget in the requester, labelled 'Drawer:', contains a single line of text indicating the current path. The upper portion of the file requester below the path name gadget contains a list of all current volumes at top, followed by a list of directories and files in the current path. To scroll through the list, use the slider at left. To select a new volume, click on the volume name in the list, then on the 'List Files' gadget at the bottom of the requester. To list the contents of a directory, click on the directory name in the list window, then on the 'List Files' gadget. You can also return to the previous directory by clicking on the line: .. (parent dir) Immediately below the list of volumes, then on 'List Files'. Changes made in the current search path by any of the above methods are reflected in the 'Drawer:' gadget. You can also select a new path by editing the contents of the 'Drawer:' gadget. If you've set a new directory (before clicking on 'List Files'), but change your mind and want to stay in the current directory, simply click on the line: . (current dir) to return the 'Drawer:' gadget to its previous contents. Also, if you've added files to the current directory and wish to update the contents of the file list window, which isn't done automatically, click on '. (current dir)' if you've altered the 'Drawer:' line, then on 'List Files'. To select an existing file, click on the file name, then on the lower left hand gadget, labeled 'Load', 'Save', or 'Use' depending on the context. To indicate a new file name for saving, edit the 'File:' gadget below the list window. To exit the file requester without performing the indicated action, click on the 'Cancel' gadget. Reference Section ================= Starting Diamond When you first run the Diamond program, the Diamond Controls requester appears: From here you set the working conditions for your Diamond session. Default conditions are set as shown above--the graphics mode is HAMPlus, Bitplanes/Colors is set to 12/4096 and the screen and picture sizes are set to 320 by 200, which is also the case for HAM. You can select HAMPlus by clicking on the HAMPlus gadget or on the 12/4096 gadget to the extreme right of Bitplanes/Colors. The difference between the two is that HAMPlus uses a register-mapped 16-color palette which can be used anywhere on the screen to minimize HAM artifacts. If you select Hi-res, the Bitplanes/Colors gadget is set to the maximum option, 4/16, and the Screen and Picture sizes are set to 640 by 200. If you select Halfbrite, the Bitplanes/Colors gadget is set to 6/64 (and vice-versa), and Screen/Picture is set to 320 by 200. You can select Lo-res, the fifth graphics mode, by clicking on any selected button gadget (except Interlace or Overscan). The graphics mode is set to low resolution, 320 by 200 with 32 colors--as shown by the automatic selection of 5 bitplanes and 32 colors in the requester. You can also select Lo-res by clicking on the any of gadgets 1 through 5 to the right of 'Bitplanes:' in the requester if Hi-res isn't selected. The Interlace gadget affects the vertical resolution, doubling it to 400 pixels on the screen when selected. Overscan extends the picture area to beyond the edges of the monitor screen for video production applications. The Overscan gadget increases horizontal resolution to 352 (704 with Hi-res) and vertical resolution to 220 (440 with Interlace), expanding the picture size to the screen limits. With Lo-res or Hi-res you can select less than the maximum number of Bitplanes/Colors by clicking on the appropriate gadget to the right of 'Bitplanes:'. If you don't need all the colors, using fewer bitplanes saves memory. If you have more than one megabyte of memory and aren't using it for other programs, you can set a larger picture size by clicking on the Custom gadget to the extreme right of 'Picture:' so it becomes selected, then clicking on the horizontal and vertical resolution gadgets and editing them with the keyboard to the desired size. Also, if you're using a special Intution- compatible high-resolution display you can set Diamond to the greater screen size by similarly editing the 'Screen:' gadgets. The 'Dispose RAM' gadget is ghosted and inaccessible when you first start the program, as is the 'Cancel' button gadget. These are discussed in the description of the Project menu's Reset command, below. If you're short on RAM and want to be able to use the 40K or so normally used by the Workbench, click on the 'Close Workbench' button gadget. The Workbench won't be accessible while using Diamond, but will reappear upon closing the program. If you don't close the Workbench, it will be accessible by using Diamond's front/back gadgets in the upper right corner of the screen. Finally, click on the 'Paint!' button gadget at the bottom of the requester to start working, or on the Exit! button to simply quit the program. If, when you click on the 'Paint!' gadget, the screen flashes and you're returned to the Diamond Options requester, you don't have enough memory for the requested mode. Possible solutions to this are to select 'Close Workbench', and quitting any other programs in memory. If these don't work, you'll probably need to add memory to your computer to be able to use the desired mode. When the program starts, a blank screen appears with the word Diamond in the upper left corner. We recommend you invoke the Gadgets toolbox by selecting Gadgets from the Screen menu or by pressing Right Amiga-O. For explanation of the various tools. Project Menu ============ New This has the same effect as the Clear command on the gadgets toolbox, clearing the screen completely without requesting a confirmation from you. To restore the screen after a New command, use the Undo command. Open This lets you retrieve a previously saved image in IFF, RGBN, or RGB4 format. If the file is in one of these three formats, the program automatically loads the image in the correct format. For an explanation of the File requester used in selecting a file to load, see Using the File Requester above. You can load any picture format (e.g. interlace, Lo-res, etc.) no matter which mode you're in. If the picture you're loading doesn't conform to the current format, a 'Format Mismatch' requester appears presenting you with the choice 'Reset' or 'Convert'. If you select 'Reset' the Diamond Controls requester re-appears. At this point its settings reflect the format of the picture you're trying to load, so this is a good way of deterimining formats of unknown pictures. The button gadget in the lower left corner is labeled 'Resume' instead of 'Paint!'--click on it to reset Diamond to the picture's format and load the picture, or on 'Cancel' to return to Diamond without changing format. If, however, you click on the 'Format Mismatch' requester's 'Convert' gadget, Diamond converts the picture file to the current graphics format, including picture size and graphics mode. This process is affected by the Options settings Scaling and Dither--see below for further information. Merge This command lets you combine two or more images by loading them successively onto the screen. It works exactly the same as the Open command above. Merge only works in HAM mode--the menu choice is ghosted and unavailable in any other graphics mode. The current drawing color affects the merge process. To retain the two images' original colors as closely as possible, make sure the current brush color is on the grey scale; that is, it should contain equal quantities of red, green, and blue. The grey value determines the 'mix ratio' of the two pictures. If the brush color is close to white, the merged picture will be more apparent than the original picture. But if the brush color is close to black, the original picture will be more visible. For an even mix between the two pictures, use an intermediate brush value of (7,7,7) or (8,8,8). Also, experiment with other brush colors when merging for unusual and interesting color conversions with the two merged images. Note: Normally when you merge a second picture with the one on screen, Diamond replaces the first picture's palette with the second's. To load only the image, and retain the original picture's palette, select Freeze from the Screen menu's Palette submenu. Save As Use the Save As command to store the current image on disk in any of three different formats. Select from the Save As submenu: RGB4 - Saves file in unique 12-bit Diamond HAM format. This format isn't available in non-HAM graphics modes. See the Appendix for an explanation of RGB4. RGBN - Saves file in a Turbo Silver-compatible 12-bit format. IFF (ILBM) - Saves file in a standard format compatible with most other Amiga graphics programs. Batch Diamond's batch file commands let you automatically process a series of picture files in various ways. For example, you can combine an image with the background or foreground of a ray-traced animation sequence, or merge them. The Batch commands only work with RGBN images, such as those produced by Turbo Silver. An example application would be to add clouds or some other constant image to the background of all frames of a Silver animation. You must provide a source directory and list of files as well as a destionation directory, which must already exist-- Diamond can't create directories. Batch processing is always visible on the screen as it occurs, so you can monitor the process. The Palette Freeze command (see Screen Menu below) affects batch processing if turned on. This means that merged images will use the palette already in memory, not their own. Source This lets you select a list of files for batch processing. All files must be in the same directory. Use the methods outlined above in the section Using the File Requester to list the files in the directory, then click on each file to convert. As you click on filenames, they're highlighted in purple. When you've slected all the files to process, click on the 'Use' button gadget. Destination This lets you select the destination directory for processed files. Simply select a directory using standard file requester techniques. The directory must already exist--consult your Amiga owner's manual for methods of creating directories. Since Diamond is a multitasking program, you can always return temporarily to the Workbench or CLI/Shell to create a new directory without quitting the program. You needn't select or enter any files--processed files are named the same as the originals. Naturally, you shouldn't select the same directory as the Source (above), or the original files will be erased. Set TC When using batch processing to add a background or foreground to a series of images, you must select a transparent color. In the case of a background, this is the color in the series of images through which the background image will appear. And when adding a foreground, this is the color in the foreground image that the sequence images will 'show through'. First load an image from the series, or the foreground image in the latter case. Use the color palette to select the transparent color, then select 'Set TC' from the Batch submenu to set the transparent color. In many cases, this is the upper left palette color, or color 0. Bkgd When adding a background to a series of pictures, after setting the Source, Destination, and transparent color (above), first load the background image, then select this Batch submenu setting to tell Diamond's batch processor to use this background. Finally, select 'Do it' from the Batch submenu to start the processing. You'll see each image from the series as the background is added 'behind' the image. Examples of appropriate backgrounds are clouds or clouds and sky for an aerial animation, or stars for a trip into outer space. Fgnd When adding a foreground to a series of pictures, after setting the Source, Destination, first load the foreground image, then set the transparent color. Next select this Batch submenu setting to tell Diamond's batch processor to use this image as the foreground. Finally, select 'Do it' from the Batch submenu to start the processing. You'll see each image from the series as the background is added. Examples of appropriate foregrounds are textual titles, or plants for an outdoor scene. Smooth This option lets you smooth images as they're processed by any (or none) of the above batch commands. After setting the Source and Destination, select any other appropriate batch options, then select this Batch submenu setting to tell Diamond's batch processor to smooth the final images. See Smooth under Brush, below, for further information on smoothing. Blend This option lets you blend images as they're processed by any (or none) of the above batch commands. After setting the Source and Destination, select any other appropriate batch options, then select this Batch submenu setting to tell Diamond's batch processor to blend the final images. See Blend under Brush, below, for further information on blending. Do it After setting the Source, Destination, and the desired batch process or processes as described above, select Do it to initiate the batch processing. You'll see each selected image as it's processed. Print This command lets you print the current image using Preferences settings. See your owner's manual for information about using Preferences. Select from the Print submenu: Screen Full Image Printing the Screen prints the image currently on screen, without the Gadgets toolbox or title bar, while Full Image prints the entire image in memory. To print color separations from your image, print three copies; one with 'Red' selected from the Display menu, one with 'Green' selected, and one with 'Blue' selected. Digitize Before digitizing with Diamond, you should calibrate the red, green, and blue settings to optimize color contrast and the linearity to optimize aspect ratio (ratio of vertical to horizontal pixels) for your particular camera and lighting setup. See Calibrate and Linearity below for calibration information. Choose from the Digitize submenu: Red Green Blue B/W (black and white) Use any of the above to actually digitize an image. If digitizing in color, make sure the appropriate color filter is over the camera lens. If the Calibrate item is checked, meaning Calibrate is turned on, selecting one of the above performs the indicated calibration, but the image is not digitized. Linearity Linearity determines the digitized image's aspect ratio, or ratio of height to width. To calibrate linearity, set up the Diamond in Lo-res Interlace with 4 bitplanes/16 colors. Set up the palette so that the first eight colors are black and the last eight are white. Position the target image as above and turn on Calibrate. Then select B/W from the Digitize submenu. This does the initial calibration. Next turn off Calibrate and select B/W again. Adjust the light so that the white portion of the image contains no off-color pixels near the edges, redigitizing as necessary. Next turn Calibrate back on and select Linearity from the Digitize submenu. Turn Calibrate off, and select B/W to digitize the test image. This should result in a perfectly round black circle. Calibrate This is a setting. When selected a checkmark appears next to the Calibrate submenu item, which means Calibrate is turned on. If calibrate is turned on when you select one of the digitizing commands (Red, Green, Blue, or B/W), calibration is performed but no image is produced. To turn off Calibrate, select it again from the submenu. To calibrate color contrast, first position the target image that comes with your Impulse, Inc. digitizer so that the white area surrounding the black circle fills the screen to the edges. Then select Calibrate from the Digitize submenu. Position the red filter under the camera lens, then select Red from the Digitize submenu. Do the same thing with the green and blue filters and settings. Auto Cal. This performs an automatic calibration (see Calibrate above), then digitizes the image using the current color setting (red,green, blue, or black and white). Load Cal. To load Calibrate settings you must previously have saved the settings with the Save Cal. command below. The program attempts to load a file named '.digical' from the SYS:S directory. If it can't find the calibration file, Diamond prints the message 'Object Not Found' at the top of the screen. Save Cal. If you always use the same digitizing setup you can save time by saving calibration settings after they're generated, as described above. When you use this command the settings are automatically saved in the SYS:S directory as a file named '.digical'. In subsequent digitizing sessions reload the settings with the Load Cal. command above. Options The Options submenu contains a number of settings which you can turn on and off as desired by selecting the desired item. When an Options setting is turned on or in effect, a check mark appears next to it on the submenu. If it isn't in effect, no check mark appears. Options are as follows: Scaling With Scaling in effect, Diamond always tries to maintain a newly loaded image's or brush's picture content despite any format mismatches. Consider an example in which you're in non-interlace mode and you attempt to load an interlace image, and you select 'Convert' from the 'Image Mismatch' requester. If Scaling isn't in effect, Diamond simply loads the top half of the image and discards the bottom half. However, if Scaling is turned on, Diamond performs pixel averaging on each pair of scan lines in the original image with the result that the final loaded image looks as close to the original as possible within the contraints of the lower resolution. Conversely, if you load a non-interlace picture in interlace mode without Scaling in effect, the picture loads into the top half of the screen. But with Scaling turned on, Diamond doubles each scan line in the loaded image so that it fills the screen in its original proportions. Scaling is also useful when loading brushes in a different graphics format. For example, loading a Hi-res format brush while in HAM mode with Scaling turned on maintains the brush's original appearance as closely as possible. Dither Dither applies to images being digitized or converted while being loaded from disk. Dithering is the simulation of additional screeen colors by placing different-colored pixels next to each other. Dithering is also useful in 3D shaded images for smoothing out the transitions between successively lighter (or darker) bands of color on objects' surfaces. By using the Dither setting to convert an image from HAM to 32-color Lo-res (for example), you can maintain a reasonable similarity to the original image that may have used hundreds or thousands of colors. Here's how: - Load the HAM image, preferably from an RGBN or RGB4 format file. - Use the mouse to select the CreateN command from the Palette submenu on the Screen menu. - Save the image as an RGBN file. - Reset Diamond to Lo-res 32-color mode. - Make sure Dither is selected. - Load the picture. When the 'Format Mismatch' requester appears, select the 'Convert' button gadget. - Now use 'Save As ILBM (IFF)' to save the picture as a file compatible with any Amiga program that requires Lo-res 5-bitplane images. Load In Place This lets you merge a brush onto the screen in the same place from which it was originally copied. If Save In Place was in effect when the brush was saved and Load In Place is in effect when using Merge from the Brush menu (see below), the brush is merged onto the screen in the identical location from which it was originally taken. If Load In Place isn't in effect, the merged brush appears at the current pictures upper left corner. Save In Place If this is active when you save a brush, positional information is also saved so that you can subsequently merge the brush with any picture in the exact position from which it was originally copied or grabbed. For this to happen Load In Place must be active when you use the Merge Brush command. See the Brush menu for further information. Preserve IFF This preserves non-image information when loading IFF images from other sources. For example, some programs save color cycling information along with Lo-res and Hi-res image files. To ensure that IFF picture files you manipulate with Diamond don't lose such information, turn on Preserve IFF before loading the image and don't turn it off before saving the picture. Write Icons This, the only Options setting not turned on automatically when you start Diamond, causes icons to be created when you save image files with Diamond. Normally this isn't done in order to save disk space. Reset This command erases any current image and returns you to the Diamond Controls requester described at the beginning of this reference section. The main differences are that the 'Dispose RAM' and 'Cancel' gadgets are now selectable. The 'Dispose RAM' gadget frees fragmented memory. If you attempt to reset Diamond to a mode or picture size for which you should have enough memory, and the screen flashes, you may still be able to use that mode by first selecting 'Dispose RAM'. This may recover sufficient memory to allow you to use the new settings. For example, it may not be possible to use HAMPlus along with Interlace and Overscan in a one-megabyte Amiga, depending on how many disk drives are connected. The 'Cancel' gadget simply aborts the Reset command and returns you to the Diamond paint screen in the previous mode. Quit Closes the current window and quits the program. Region Menu This menu contains Diamond's most powerful commands for creating brushes from parts of the picture. Diamond is unique in that you can select different noncontiguous areas of your image simultaneously as a brush for placing on other parts of the picture, on onto another picture. About Regions--Basic Usage The Region menu offers a number of fairly complex inter-relating commands. Therefore we recommend that, in order to understand what you're doing, you read everything in this section before attempting to use any of the commands. Creating a Single-Image Brush Here's the procedure for creating a brush from one part of your picture: - First select 'Lock' from the Region menu. This allows you to recover the original picture in case of any mistakes or accidents. - Use one of the drawing tools, such as circle, rectangle, or freehand draw, to define the area you want to copy, making sure the area is totally enclosed. Since you want to see as much of the picture as possible, don't fill the areas--use the outline version for the shape tools. You're actually painting over the area you want to copy, but don't worry--unlike other paint programs, Diamond remembers what's underneath, as you'll soon see. - Press function key F1. This lets you combine the Add Fill and Copy commands (see below for explanation). The cusor becomes a cross-hair with the word 'FILL' connected. - Click within the enclosed area to pick it up as a brush, or outside the area to pick up the rest of the picture as a (large) brush. - You can now place this brush repeatedly anywhere on the picture. However, you can't 'paint' with it as you can with a solid-color brush. - To pick up a different brush, first press the space bar, then select New from the Control submenu, then repeat the above procedure. Creating a Multi-Image Brush Diamond also lets you copy several different noncontiguous areas from the picture simultaneously--in fact, as many as you like. Here's how: - First lock and define your areas as described above. Be sure to use the New command if Lock is already on. - Now to fill in all the areas you've enclosed in preparation for picking them all up together with the Copy command. Select Add Fill from the Modify submenu, then click in each area you want to include in your 'multi-area' brush. Each area becomes inverted (black becomes white, etc.) as you click in it. - When all areas are filled, select Fill Off from the Modify submenu. - If you decide that too many regions are selected, follow this procedure before proceeding to the Copy command. Select Not Region from the Modify submenu, whereupon the entire screen is inverted. Next select Add Fill and click in the areas you don't want to copy, then select Fill Off from the Modify submenu. Finally select Not Region again to return the screen to its normal appearance. - Next select Copy from the Region menu or press Right Amiga-C to copy all the filled areas. IMPORTANT NOTE! ============== Remember that when Lock is on, Diamond remembers everything! Once you've finished a Copy or Grab operation, be sure to select the New command from the Control submenu to tell the program that you've finished with one region and are ready to proceed to another. NOTES FOR ADVANCED USERS! - Diamond and Memory ============================================= The key to understanding the use of Region menu commands is awareness of how Diamond uses memory. When working in HAM noninterlace mode, Diamond requires a minimum of 397 kilobytes of memory, divided thusly: 96K - Picture (12 bitplanes) 96K - Undo Buffer (12 bitplanes) 48K - Screen (6 bitplanes - HAM) 56K - Miscellaneous (7 bitplanes) 97K - Program code 4K - Stack 397K total The above total doesn't include memory required for Intuition messages, fonts, menu/screen swap area, and I/O. Each processed Diamond picture occupies 96K in a proprietary format, computed according to this formula: 3 colors X 4 planes/color X 8K/plane The 96K pictures can hold more color information than the Amiga HAM screen is capable of displaying. Diamond shows its best approximation of the 96K picture on the HAM screen. Display menu options let you see the red, green, and blue components of the image separately with no loss in quality. When you paint on the screen, changes are registered immediately in the 96K image in memory, then the program calculates and displays changes for the HAM display version. In large part, any slowness you may notice in using Diamond results from this recalculation of the HAM screen, which can take as long as four seconds in extreme cases. The only other slow aspect of the program you may notice is in compressing and expanding files during disk I/O. Use of the internal 96K picture buffer means you can make numerous changes to the displayed image without losing the original image. You should also be aware of the undo and region masks. The undo mask holds the shape of the area that can be undone (usually the area covered by the last brush stroke, but can be different e.g. after opening a new picture or after clearing the screen). The region mask holds the shape of the area that can be affected by the various Region menu commands such as Copy, Grab, Flood, Restore, etc. In the simplest cases, the region mask is the same as the undo mask, but you can 'Lock' the region so that it can accumulate several brush strokes. Diamond will not let you paint over a locked region on the screen, even when clearing the screen or loading a new picture. When the region mask is set (i.e. 'Lock' is turned on), the undo buffer always contains what was on the screen before it became part of the region. Thus with proper use the Region commands can act as a 'super-Undo' system. The Region menu commands Restore, Swap, and Keep let you copy data between the screen and the undo buffer. Working With Regions When using Region menu commands you should keep in mind that there are really two 'pictures'; the one on the screen, and the one in the undo buffer. When you use the Region menu's Copy or Restore commands the undo buffer's image is copied to the screen. However, the screen image is the one affected by 'Flood Region' and the one that is copied to the undo buffer with 'Keep Region'. 'Swap Region' exchanges the two screens. When a region is set, you can move it around on the screen by holding down either Alt key and pressing the arrow keys. With one exception, whatever you paint over on the screen becomes part of the current region. If 'Lock' isn't on, each new stroke replaces the previous buffer contents. With 'Lock' on, however, each new stroke is added to the region. The exception is when you use the 'Eraser' setting from the Brush menu. The eraser erases region information only. Wherever you paint over the current region with the eraser is restored from the undo buffer, and that part of the screen is removed from the region. It isn't necessary to have 'Lock' on while erasing part of a region--with 'Eraser' on, the region mask isn't cleared at each new brush stroke. The Region menu offers the following commands and submenus: Control Submenu New (Right Amiga-N) When painting with 'Lock' on (see below), invoking the New command clears the region mask so that you can select an entirely new region. Note that this command does not restore the region from the undo buffer before clearing the region mask. Restore (Right Amiga-R) If 'Lock' isn't activated, this has the same result as Undo, restoring the picture to its condition before the last brush stroke. However, invoking Restore with 'Lock' on restores the picture to its state at the point 'Lock' was turned on, or since the last 'New', 'Keep', or 'Swap'. Keep (Right Amiga-N) Use this to copy all parts of the current region from the screen picture to the undo buffer. You can then make further changes, using Restore to return to this point. Normally when you paint on the screen, what you paint over gets added to the region. To add your actual strokes to the region, use Keep. Swap (Right Amiga-S) Exchanges the information in the current region on the screen with that in the undo buffer. Flood (Right Amiga-F) Covers the entire current region on screen with the current drawing color. See 'Add Color' below for information on using Flood to change one color globally to another throughout the picture. Modify Submenu Add Color Use this command in conjunction with Flood above to change one color globally to another throughout the picture. Here's an example: - This technique is most effective with digitized or ray-traced images. If you have such an image, load it now. - Select the color to change directly from the image with the Pick Color command (see Brush Menu below). - Choose Add Color from the Region Modify submenu. - Next choose the new color, either from the screen or from the palette (Set Color). - Finally select Flood from the Region Control submenu (see above). Every pixel in the picture of the first color is changed to the second color. Add CRange This command lets you define a color range, rather than a specific area on the screen as a region. This is useful with digitized and ray-traced images which contain irregularly-shaped areas consisting of a range of shades of a particular color to indicate 3D shading. With Add CRange you can define all areas on the screen containing a specific range of shades as a single region: - Select a color at the upper or lower end of the range from the screen with the Pick Color command (Brush menu). - Select Add CRange from the Modify submenu. This inverts all screen pixels in the current color and adds them to the region. - Use the numeric keypad at the right end of your keyboard to set the color at the other end of the range. Here's how it works: Lower Red <- 7 8 9 -> Raise Red Lower Green <- 4 5 6 -> Raise Green Lower Blue <- 1 2 3 -> Raise Blue When you adjust the other end of the region to a color present on screen, that color and all shades in between are immediately inverted and added to the region. - Finally press the space bar to finish setting the color range, and select Copy or Grab to pick up the region. Not Region This command inverts the region--that is, everthing that wasn't part of the region becomes part, and everything that was part is no longer. When selecting several different sections of an image to use in a single brush, to deselect one or more areas, use Not Region, then Add Fill on the unwanted sections, then Not Region again. See the section 'Creating a Multi-Image Brush' above for further details. Add Fill Use when selecting more than one area to copy or grab as a brush. See the section 'Creating a Multi-Image Brush' above for further details. Includes the outline with the fill. Use Fill Off to cancel. Fill Only Use when selecting one area to copy or grab--doesn't include the outline area. Use Fill Off to cancel. One useful application of Fill Only is to grab a precisely outlined copy of an image on the screen (such as a ray-traced sphere against a black background). If the image is surrounded by a single-color background, it's very easy to do: - Use 'New' from the Control submenu to clear the region mask. - Use any color with the Flood Fill tool (see Gadgets in the Screen Menu section below) to fill the area around the object to grab. - Next select Fill Only and click anywhere on the object to grab. Note that after doing this the object's appearance is inverted and the flood fill from the previous step is gone. - Select Fill Off to cancel Fill Only. - Select Copy or Grab from the Region menu to lift the image from the background. Fill Off Use to deactivate the Fill Only or Add Fill commands when defining regions. Lock (Right Amiga-L) Fixes the current screen image in memory, allowing you to restore the image to this state after any number of changes have been made. Some uses of the Lock command are: - To add more brush strokes to the current region. - To preserve the region mask contents during a Clear screen or New command or when loading a new picture. - To prevent part of the picture from being painted over. NOTE! ===== When you paint with a region locked, none of the new paint is stored in the undo buffer unless you use the Keep or Swap commands from the Region menu. When you use the Copy command all painted areas since 'Lock' was turned on are replaced by the contents of the undo buffer. Therefore if you make many changes to an image with 'Lock' on, and decide that you want to keep them, you should use the Keep command before doing anything else. Copy (Right Amiga-C) This places the contents of the undo buffer at the mouse cursor. You can reposition the image by moving the mouse cursor and place a single copy on the screen in the current position by clicking the left mouse button. You can place the image as many times as you like. If you select this command without first defining a region, the entire screen is selected. A shortcut for grabbing a single-image brush is to outline the area to grab, then press function key F1 (Add Fill and Copy), then click in the outlined area to erase the outline and pick up the area as a brush. To exit the Copy command, press the space bar. Grab (Right Amiga-G) This works similarly to the copy command, except that when placing the brush, a 'hole' is created in the location from which it was taken, which is replaced by the area covered by the brush in the new location. Essentially it copies the destination area to the source, both of which are exactly the same shape. Flags Submenu These settings making cutting and pasting parts of an image easier. Border When active, eliminates all but the outline of the currently selected region during a Copy or Grab operation to allow more accurate brush placement (can be used with Inverse, below). Inverse Creates a 'negative' image of the currently selected region during a Copy or Grab operation to allow more accurate brush placement (can be used with Border, above). Horiz. Flip Stands for horizontal flip, flips the current brush left to right during a Copy or Grab operation. Vert. Flip Stands for vertical flip, flips the current brush top to bottom during a Copy or Grab operation. Brush Menu Brush Submenu Brush submenu items determine how a solid-color brush affects areas you paint over. Select brush sizes and shapes from the Gadgets toolbox, and colors from the color palette (see Set Color below). Paint (Right Amiga-P) When Paint is active, areas you paint over are covered with the current brush color. If Lock is on all covered areas are added to the current region. If you've previously defined a region you won't be able to paint over that area. Eraser (Right Amiga-E) When eraser is active you can erase part of the paint covering the current region. That is, if Lock isn't on you can erase any or all of the area covered by the last brush stroke or other painting action, revealing what was underneath. If Lock is on you can erase any part of paint applied since you turned on Lock or last invoked the New command from the Control submenu. In addition to removing paint from the screen, the Eraser removes that part of the image from the current region in memory. Inverter (Right Amiga-I) This lets you invert (or 'negativize') colors in the current image by painting over them. White becomes black, black becomes white, blue becomes yellow, red becomes cyan, and so forth. TinterA The Tinter Add brush setting adds the current brush color to painted areas of the picture. In some cases a second brush stroke can cause a further tinting. TinterS The Tinter Subtract brush setting subtracts or removes the current brush color from painted areas of the picture. In some cases a second brush stroke can cause a further tinting. Blender Painting over colored areas of a picture with Blender in effect causes color pixels to be mixed together, resulting in more gradual edge transitions. Smoother This effect, also called Anti-Aliasing, is useful for smoothing jagged edges in an image, most commonly found in diagonal lines. Pixels are added to object's edges where you paint in strategic places to create more even looking edges. Load This lets you load a copied or grabbed region brush saved with the Save As command (below). Use the file requester to select the brush file to load, then click on the 'Load' gadget. After loading the brush Diamond automatically places you in Copy mode (as if you've just picked up the brush) so that you can place the brush in the picture. Merge This loads a brush saved with the Save As command and merges (combines) the brush image with the current picture. If Save In Place was in effect when the brush was saved, the brush is merged into the picture in the same position from which it was originally taken. However, if Save In Place was turned off when the brush was saved, the brush is loaded into the upper left corner of the screen. Save As This command saves the current region image to disk, whether or not you've used the Copy or Grab command. Choose from the Save As submenu: RGB4 RGBN ILBM (IFF) See the Project menu's Save As command for an explanation of the different file formats. Undo (Right Amiga-U) Use this command to restore the screen to its condition before the last brush stroke or object drawn. This is the same as clicking on the 'Undo' gadget in the Gadgets toolbox. Set Color (Right Amiga-B) Selecting this command, which is the same as clicking on the Palette gadget in the Gadgets toolbox, brings up a Palette requester whose appearance varies depending on which graphics mode you're in. The HAM Mode Palette Requester You can use this requester to set the current drawing color to any of the Amiga's 4096 colors in a variety of ways as well as to manipulate the palette. When the Palette requester first appears, the current drawing color is shown in the gadget labelled 'Use' in the upper right corner. Also, its RGB (red, green, blue) values are shown above the color squares and its HSV (hue, saturation, value) settings are shown below the color squares. You can select a new drawing color by clicking in any of the six sliders. The three color sliders above the color squares let you set a new color using a specific mix of red, green and blue, while the three sliders below let you adjust a color by hue, saturation, and value. Hue refers to the basic color, while saturation refers to the color's deepness--the less saturated the color, the more it approaches white. And value determines the color's darkness--the lower the value, the closer the color approaches black. The current color is always indicated in all six sliders by small black bars above and below its position. You can also set a new color by clicking in any of the three color squares between the two sets of sliders. These color squares represent three cross sections of a hypothetical 'color cube' containing all 4096 of the Amiga's colors, taken on the three Cartesian Coordinate axes X, Y, and Z, intersecting at the current color. The current color's location in each square is indicated by small black bars on the square's edges. Whenever you select a color, all of the sliders and squares except the one you're using adjust automatically to display ranges of colors adjacent to the new one on their various scales, and the color is shown in the Use gadget. To use this color for drawing, click on the 'Use' gadget. To exit the Palette requester without changing the drawing color, click on the 'Quit' gadget. In HAMPlus mode there is a fixed 16-color palette which is displayed in the left-hand vertical column of colors under the 'Set Pen' gadget. The background color, color 0, is found topmost in this column. You can place pixels from any of these colors anywhere on the screen without the undesirable HAM fringing effects. There's also a second set of 16 colors in the right-hand column in which you can store other commonly-used colors. To replace any of these colors, follow this procedure: - Click on the 'Set Pen' gadget, which becomes highlighted to indicate that you're changing palette colors, not selecting a drawing color. - Select a new palette color from the sliders and/or squares. - Select the palette position at which to place the new color. - Repeat the last two steps for as many colors as you wish to change. - When you're done altering the palette, click on 'Set Pen' to exit this mode, then on 'Use' to exit the Palette requester and accept the changes. - If you're unhappy with the palette changes, click on 'Quit' either before or after clicking on 'Set Pen' again to exit the Palette requester without accepting any alterations. NOTE! ===== You can also accept any changes and exit the Palette requester by clicking on the Palette gadget in the Toolbox, if available. The Register-Mapped Modes Palette Requester Unlike HAM mode, all screen pixels in Lo-res, Hi-res and Halfbrite mode images receive their values from color registers. Each pixel's color value is defined by one of 16 or 32 registers, which means that if you change the color in a register, all pixels using that register on screen change as well. Thus any palette changes in these modes are reflected immediately on the screen. In Lo-res there are 32 palette positions, in Hi-res there are 16, and in Halfbrite there are 64, the second set of 32 being half-intensity versions of the first 32. The colors are arranged in ascending order of register position (starting with 0, the background color) from left to right, then top to bottom. You can use this requester to set the current drawing color to any of the Amiga's 4096 colors as well as to manipulate the palette. When the Palette requester first appears, the current drawing color is indicated by a colored box around its position. To select a new color from the current palette, click on the desired color, then on the 'Use' gadget to the right of the color boxes. You can use any of the sliders to set a palette color to a new choice from the Amiga's 4096 colors. Click on the color to change, then adjust the Red, Green, Blue, Hue, Saturation, and Value sliders as desired. To copy a color from one palette position to another, click on the color to copy, then on the Copy gadget to the right of the color boxes, highlighting it. Then click on the color box or boxes to copy it into, replacing existing colors. The same color is copied into all boxes you click on until you deactivate the Copy function by clicking again on the 'Copy' gadget. When copying colors between the first and second sets of 32 colors in Halfbrite mode, the program makes a 'best fit' approximation. Use the 'Swap' gadget to exchange places between two colors. First click on a color to swap, then on the Swap gadget (which becomes highlighted), then on the color to exchange it with. This color becomes selected, and is then exchanged with the next color clicked on. This process continues until you click on 'Use', 'Swap', or 'Cancel'. When swapping colors between the first and second sets of 32 colors in Halfbrite mode, the program makes a 'best fit' approximation. To create a spread of evenly ranged colors between any two, first set up the two colors in the desired positions using any combination of the above techniques. We don't recommend spreading colors between the first and second sets of 32 colors in Halfbrite mode. Remember colors are arranged in ascending order of register position (starting with 0, the background color) from left to right, then top to bottom. Then click on the Spread gadget to create the range. You can continue clicking on colors and creating spreads as long as the 'Spread' gadget remains highlighted--click on it again to resume normal operation. If undesirable results are obtained from any palette alterations, click on 'Cancel' to abandon the changes. Otherwise click on 'Use' to retain the new palette. Pick Color (Right Amiga-,) Use this command to select a new brush color from the drawing itself. The cursor becomes a cross hairs with the word 'PICK' attached. Whichever color is under the cross hairs when you click the mouse becomes the new drawing color. You can use this command together with Magnify mode to select a pixel from a small patch of color. Size Brush (Right Amiga-Z) This works only with solid brushes (not dotted) from the Toolbox. Click on a square or round brush, then use this command to make it smaller or larger. After selecting Size Brush, click and hold the left button anywhere on the screen. The brush appears as a single pixel centered in the cross hairs. Drag the mouse in any direction away from this position to increase the brush size, or toward the position to reduce it. Release the mouse button to accept the new size. Resizing is done in both vertical and horizontal directions, maintaining the brushes original shape. You can also resize the brush by pressing the '+' key (shifted or unshifted '=') or the '-' key. Set Font (Right Amiga-T) Using Diamond's Text tool (see Gadgets below) you can add text to your drawing in any of the fonts currently available in your system. Consult your owner's manual for system font information. Selecting the Set Font command brings up Diamond's Font requester which is specially designed to be able to accommodate an unlimited list of fonts. When first invoked, this shows the current system font and point size with a Zoom factor of 1 and normal style: Font Requester To select a new font, click on the List Fonts gadget. Diamond then reads the SYS:Fonts directory and shows the first name in the font list in the black line near the top of the Font requester, with that font's smallest point size below next to 'Size'. To scroll through the font list forward or backward, click on the colored bars below or above the current font name. To select a different font size, if available, click on the up or down arrows to the left of the Size box. If a different size of the current font isn't available, the next or previous font and size in the list appears. You can enlarge any font up to 16 times by selecting a new Zoom factor. Do this by clicking on the up or down arrow gadgets to the left of the Zoom box in the Font requester. You can also set any combination of attributes for Underline, Bold, or Italic for the font by clicking on them. Check marks appear to the left of selected attributes. Click on 'Normal' to cancel the others. After selecting a font and changing the Zoom factor or attributes, if desired, click on the 'OK' gadget to accept any changes, or on the 'Cancel' gadget to go on using the previous font settings. Note: Only the font directory list remains in memory (after loading), and each different font is loaded into memory as needed. Screen Menu Drag Bar (Right Amiga-D or F9) The drag bar is a horizontal bar crossing the top of the screen. It contains the name of the program (Diamond) as well as front/back gadgets for the Diamond program screen. Select this command to toggle it off and on. Since Diamond is a fully multitasking program, when the drag bar is active you can pull down the screen and reveal the one behind it by clicking and dragging on the drag bar. You can only paint on the top of the screen when the drag bar is inactive. A check mark appears to the left of this menu item when the drag bar is active. Gadgets (Right Amiga-O or F10) Selecting Gadgets causes the Toolbox to appear at the right edge of the screen Toolbox Following is an explanation of each Toolbox gadget, from top to bottom: Tools - This gadget is visible only when the drag bar is off. Click on it to turn off the Toolbox. Built-In Brushes - Click on any of these brushes to use it for solid-color drawing. Palette - Invokes Diamond's Palette requester, or removes it if present. Undo - Returns picture to condition previous to the last drawing action. Following are the drawing tools. Each one remains highlighted and in effect from when you click on it until you select another tool. Dotted Freehand - Use this tool to draw a dotted freehand line, following the mouse however you move it. The faster you move the mouse, the more widely spread the dots are drawn. Continuous Freehand - Draws an unbroken freehand line following the mouse. Straight Line - Click and hold the mouse button in the desired starting spot for the straight line, then drag the mouse in any direction to preview the line, and finally release the mouse button to draw it. Curved Line - Click and hold the mouse button in the desired starting spot for the curved line, then move the mouse to the ending position and release the mouse button. Then move the mouse in any position to preview the curved line, and finally click the mouse button to place it. Zigzag Line - Click and release the mouse in the desired starting spot, then move the mouse to the end of the first line segment and click once. Continue moving and clicking as desired. To end the line, double-click the mouse. Hollow/Filled Rectangle - Click in the top half of the gadget to select hollow or in the bottom half to select filled--the gadget's appearance reflects the choice. Next click and hold on the screen at one corner of the rectangle, drag the mouse until the rectangle is the desired size and position, and release the mouse button to place the rectangle. Hollow/Filled Circle - Click in the top half of the gadget to select hollow or in the bottom half to select filled--the gadget's appearance reflects the choice. Next click and hold on the screen at the circle's center and drag the mouse until the circle is the desired size. Finally release the mouse button to place the circle. Hollow/Filled Ellipse - Use this tool to draw oval shapes on the screen at any angle. Click in the top half of the gadget to select hollow or in the bottom half to select filled--the gadget's appearance reflects the choice. Next click and hold on the screen at the ellipse's center, whereupon a pair of full-screen cross hairs appears centered at the mouse position. Drag the mouse around this point until the cross hairs reflect the desired rotation for the ellipse, then release the mouse button. Next click and hold the mouse button to draw the ellipse, dragging the mouse around on the screen until the oval is of the desired size, shape, and orientation, releasing the mouse button at that point. Spray Gun - Use this tool to draw a field of randomly positioned brush shapes with an effect resembling that of a painters airbrush. Simply click and drag the mouse to paint, moving slowly for a dense pattern or faster for a lighter texture. This effect generally works best with a single-pixel-sized brush. Flood Fill - Use to fill a region containing one color with another. Select the fill color, then the Flood Fill tool, then click on the area to fill with the new color. All pixels of the same color connected to the one you click on are changed. Magnify - When you select this tool the mouse cursor becomes a cross hairs with the word 'PICK' attached. Click on the section of the picture to magnify, at which the right side of the screen shows the magnified section while the left side shows the unmagnified surrounding area. All commands work as normal in magnify mode, and you can paint on either side by simply moving the mouse to the desired position. You can scroll the magnified area around the picture with the arrow keys (double the left and right scrolling speed by holding down the Shift key), and increase or decrease magnification with Shift-Up Arrow and Shift-Down Arrow. Click on Magnify again to return to the normal working mode. Text - This tool lets you enter text onto the screen directly from the keyboard in any of the Amiga's wide selection of fonts. See the Set Font command above for information about selecting a different font. When you select this tool, a rectangle showing the current font size becomes attached to the mouse cursor along with the word 'PICK', prompting you to indicate where to add text. Click on the picture in the desired spot, then enter your text from the keyboard. To enter text in a new location, move the mouse cursor to the desired spot and click twice. You can change the font and/or size and attributes any time by pressing Right Amiga-T. The changes take effect at the next letter typed. Clear - This bottommost tool clears the screen completely if clicked on. To retrieve an erased picture use the Undo command before using any other commands--otherwise it's gone forever if you didn't save it to disk. Palette Submenu The commands available from the Palette submenu permit various useful palette-related functions. Since HAM (not HAMPlus) mode pictures don't use a palette at all, most of these commands don't work on or affect HAM-only mode pictures. Load This command lets you load a palette from a picture on disk. The picture file can be in any of the formats supported by Diamond and need not be in the same graphics mode as the current picture. As long as the picture file isn't in HAM-only mode (which means there's no palette), Diamond can load the palette information from the file into the current palette. Use the File requester to select the picture whose palette you wish to load. With register mapped modes, any altered palette colors after the Load process are immediately reflected in the picture on screen. However, in HAMPlus mode, after loading the new palette Diamond adjusts the image so that all original colors are retained. CreateH CreateN CreateX These next three Screen menu commands are available only in HAM and HAMPlus mode. They're useful for optimizing the current picture's palette for various purposes. To observe how these work, carefully note palette contents before and after using them. CreateH stands for Create HAM. With HAMPlus, as described above, a 16-color palette is employed any of whose colors can be placed on the screen without regard to surrounding colors. These colors are best used for abrupt horizontal color area changes to avoid the undesirable 'fringing' effect often associated with HAM-mode images. When you select CreateH, Diamond optimizes the palette to minimize fringing in color borders. CreateN stands for Create Normal, and is most useful in converting HAM images to Lo-res format. Follow this procedure to convert a HAM RGBN picture to Lo-res IFF: - Load the HAM picture to convert in HAMPlus mode. - Invoke the CreateN command. After a brief pause, the cursor returns to its previous state. - Save the picture in RGBN format. - Reset Diamond to Lo-res. - Load the picture. When the 'Format Mismatch' requester appears, select 'Convert'. If Dither (Options submenu) is turned on, the conversion process includes dithering to simulate more colors. - After the picture loads, use the Save As ILBM command. CreateX uses Halfbrite's extra 32 palette positions, within their limitations, to further optimize a HAM-mode picture's palette for conversion to the Halfbrite mode. (The X stands for eXtra Halfbrite.) Use the above technique, substituting CreateX for for CreateN and Halfbrite for Lo-res. Freeze Normally when you merge two pictures (see Merge under Project Menu above), the merged picture's palette information is loaded along with the image and replaces the first picture's palette. If you select Freeze before merging an image--a check mark appears alongside the menu item when Freeze is active-- the former palette is retained, loading only the image from disk. Color 0 This item is normally checked, which means that when you use CreateH, CreateN, or CreateX (see above) to recalculate a palette, that the first color in the palette, Color 0, which is used for the border and is also the background color used to clear the screen, is changed. If you don't want this color to change from using one of the Palette Create commands, make sure it is not selected--click on it until the check mark doesn't appear. Genlock When preparing images for genlock video applications, you should be aware that the genlocked video picture 'shows through' all pixels of a certain color, usually the background color (Color 0). In recalculating a HAM image, which Diamond does when you change the palette, the program may use a Color 0 pixel for an approximate fit for certain pixels. If Genlock is selected, Diamond will only use a Color 0 pixel if it's an exact fit. Display This Screen menu item, available only in HAM and HAMPlus modes, performs color separations on the current picture quickly and automatically. The submenu selections are: Normal Red Only Green Only Blue Only Normal displays all colors in the image. Selecting Red Only, Green Only, or Blue Only displays only screen pixels containing a component of the indicated color. If you then select the Print command, the output takes the form of a color separation. Show Page Since Diamond lets you work on pictures larger than the screen can display, this command lets you display a reduced version the entire picture on the screen. If the picture is indeed larger than the screen, selecting this command causes a brief delay, after which the reduced full image is shown in the upper left corner of the screen. Press the space bar to return to the previous display. When working on large pictures, you can use the arrow keys to move to different areas of the image. ----------------------------------------------------------------------------- APPENDIX A Diamond Tools, Gadget Bar, and Keyboard Equivelants FREEHAND CONNECTED DRAWING TOOL Keyboard = "d" or "D" The Connected Freehand drawing tool will draw a continuous line, without any breaks, while holding the left mouse button down regardless of how fast you draw. The size of the line will be the same size as the currently selected brush. FREEHAND DOTTED DRAWING TOOL Keyboard = "s" The Dotted Freehand drawing tool will draw a continuous line composed of dots, while holding the left mouse button down regardless of how fast you draw. The size of the dots will be the same size as the currently selected brush. The spacing of the dots from each other is dependent on the speed at which you draw your line. The faster you draw your line, the farther apart the dots will be spaced. CONTINUOUS LINE TOOL Keyboard = "v" or "V" The Continuous Line tool will draw a continuous straight line with no breaks. Move the mouse to the point you want the line to start. Hold down the left right mouse button, and move the mouse to the position you want the line to end. Releasing the mouse button will draw the straight line. CURVED LINE (ARC) TOOL Keyboard = "q" or "Q" The Curved Line tool will draw a calculated arc between any two desired points on the screen. Move the mouse to the point you want the arc to start, hold down the left mouse button and move the mouse to the position on the screen you want for your end point, and release the mouse button. A straight line from point to point will first be drawn like using the Continuous line tool. After releasing the mouse button, any movement of the mouse will bend the previously drawn line into an arc connecting your two points. Move the mouse around the screen until you achieve the desired curve line, and depress the left mouse button. CONNECTED LINE TOOL Keyboard = "l" or "L" The Connected Line Tool will draw a number of straight lines all connected to each other, with the end point of one line becoming the start point of the next line in the series. This tool allows you to make polygons and other shapes which can be formed from connected line very easily. Move the mouse to the start point of the first line and click the left mouse button. As with the Straight Line tool, move the mouse to the point you want the first line to end, and click the left mouse button again. The first line will end, and the second line will begin at the end point of the first. You can again move the mouse to create another line, ending each line and starting another by clicking the left mouse button until all of the desired lines are created. "Double" clicking the left mouse button on an end point of your last line, will end the line creations. BOX TOOL Keyboard = "r"- unfilled / "R"- filled The Box Tool creates square or rectangular shapes either filled shaped or unfilled frames. Move the mouse to the point you would like a shape to begin and hold down the left mouse button. While holding the left mouse button down, and moving the mouse, you will see a rectangular shape drawn on the screen in the current pen color. Releasing the mouse button will end the creation of the box shape. Selecting the filled section of the gadget will create a filled box or rectangle with the current pen color. CIRCLE TOOL Keyboard = "c" - unfilled / "C" - filled The Circle Tool operates just like the Box Tool, except that it creates circles. Move the mouse to the area of the screen where you want the center of your circle to be. Moving the mouse with the left mouse button held down, will draw a circle on the screen using the current pen color. Selecting the filled section of the gadget will create a filled circle using the current pen color. OVAL TOOL Keyboard = "e" - unfilled / "E" filled The Oval Tool operates like the Circle Tool, except that it creates ovals or elipses. The main difference in using the Oval Tool from the other tools is that the Oval Tool will let you determine the axis of the oval or ellipse. Move the mouse to the area that you want the center of your oval to begin and depress and hold down the left mouse button. A cross-hair will be drawn on the screen. By moving the mouse around the screen, you can then select the exact axis on which you want your oval to be drawn. When the wanted axis is achieved, release the mouse button. Depress the left mouse mutton a second time to begin drawing your oval or ellipse. This portion of the operation is identical to the Circle tool. Selecting the filled portion of the gadget, will create a filled oval or ellipse in the current pen color. SPRAY GUN TOOL Keyboard = "S" The Spray Gun tool operates just like a can of spray paint. The Spray Gun tool will spray a random pattern of dots in the selected pen color continuously as long as the left mouse button is held down. The size of the dots is determined by the chosen brush. There are also three special spray gun brushed at the bottom of the brush menu, with degrees of pattern spread. FLOOD FILL TOOL Keyboard = "f" The Fill Tool will fill and enclosed area or region with the currently selected pen color. Place the cursor inside the area or region you want filled with your color and click the Mouse button. ZOOM TOOL Keyboard = "m" or "z" The Magnify Tool allows you to zoom in on any area of your picture and do fine or detailed work. In the zoom mode the screen will split vertically with the normal view on the left and the Magnified view on the right side of the screen. While in the zoom mode, you can scroll around the picture using the arrow keys. You can also increase and decrease the level of magnification up to 15 times. TEXT TOOL Keyboard = "t" and "T" The Text Tool allows you to add text to any part of the picture you are working on. Diamond uses any standard Amiga font, or Extended Color font created by the Calligrapher. Clicking the Text Tool or using the "t" key from the keyboard displays an open box the size of the currently selected font. To enter text to you picture simply place the box in the area you want your line of text to begin, and click the mouse. All other keyboard strokes from this point on will enter text on the screen. While in Text entry mode, you can select a different font or change the style or size of your currently selected font, by hitting control t. This will bring up the Diamond font requester. The unique Diamond font requester will allow you to have as many as 100 different fonts in your system. When the requester is first invoked you should click on the "LIST FONTS" button to load the fonts into Diamond. Clicking either of the violet boxes will scroll through the fonts in your list. The arrows beside the "SIZE" gadget allow you to scroll through the various sizes of a particular font in your fonts directory. The arrows beside the "ZOOM" gadget will magnify the size of the currently selected font. Remember though that increasing the size of the font using the zoom function only increases pixel size. CLEAR TOOL Keyboard = "K" The CLEAR tool will clear the screen to the currently selected Background color. (color 0). APPENDIX B Diamond Function Key Equivelants F1 - Add Fill and Copy F2 - Add Fill and Grab F3 - Select Paint Brush F4 - Select Eraser Brush F5 - Select Inverse Brush F6 - Region Lock On/Off F7 - Cycle Crosshairs: type 1, type 2, none.. F8 - Brush On/Off F9 - Title/Drag Bar On/Off F10 - Tools/Gadgets On/Off APPENDIX C Technical Information RGB4 IFF 4-Bit RGB Image Data Introduction FORM RGB4 is used to store compressed 4-bit RGB image data. It incorporates a compression technique (a variation of 'Huffman coding') that is well suited for slowly varying 4-bit data. It was developed for use in the program Diamond, an RGB4 editor/paint program incorporating the Amiga's HAM (Hold And Modify) screen display mode. IFF Specifications The standard IFF layout for storing an image is to put three FORM RGB4's in a LIST RGB4, with components arranged in the order red, then green, then blue. Each FORM RGB4 must have a BMHD (bitmap header) chunk, a COMP (compression) chunk, and a BODY chunk associated with it. Since the FORMs are stored in a list, the BMHD and COMP chunks can be stored in a PROP chunk. The BMHD chunk should be the same for all three components, so its natural place would be in a PROP chunk. The COMP chunk(s) contain the data that the decompression algorithm will use, so it/they should go in the PROP/FORM chunk(s) depending on whether the same decompression algorithm will be used to decode all three FORMs. In any case, the BODY chunks must be preceded by the corresponding BMHD and COMP chunk(s). The BMHD chunk is identical to the BMHD chunk in FORM ILBMs. The compression component (of the 'struct BitMapHeader') should be set to 2. The COMP chunk, and the form of the BODY chunk is specific to FORM RGB4. Notes: 1. If more than one image is to be stored in a file, they should be put in a CAT of LIST RGB4's. 2. Every LIST RGB4 should contain three FORM RGB4's. 3. The name 'RGB4' should not be used as a LIST type for anything but a true 3-component RGB4 image. Background The compression technique transforms each byte into zero or more bits in a way that guarantees that no (transformed) byte will match the high order bits of any other (transformed) byte. For example, if an 'A' is represented as the binary number '101', then no other byte will have the form '101xxx'--so when the sequence '101' is obtained, there's no question as to wheter or not it is a full character. The RGB4 BODY chunk is bit-packed transformed data. The bit data is packed with the first bit in the high order position of the first byte. The compression technique works best on 'low entropy' data that is, data with a very non-uniform statistical distribution--for instance, containing many zeroes. The values appearing most often are represented with the fewest bits. For that reason, there are two more steps in encoding/decoding an image. In encoding, each horizontal scan line is first transformed into a sequence of differences. So the sequence (X1,X2,X3,...) is first changed to (X1,X2-X1,X3- X2,...). In decoding, one starts with a zero (at the left edge of the line) and adds the succeeding values. Thus first one obtains 0 + X1 = X1, then 0 + X1 + (X2-X1) = X2 and so on. The values X1, X2, etc. are 4-bit numbers, and in all additions and subtractions, only the least 4-bits are retained (e.g. 12 + 13 -> 9, 9 - 13 -> 12, etc.). This usually results in many 0's, 1's, and 15's--the latter a result of negative 1 being represented as 15. Then the other step is: in encoding, pair the 4-bit values into 8-bit bytes with the first value in the high order part of the first byte (after calculating the differences); and in decoding, split the decoded bytes into 4-bit numbers before 'un-differencing'. One might wonder why this last step is necessary--after all, if there are many 0's, 1's, and 15's, it produces a lot of 00's, 01's, 10's, 0F's, F0's, 11's, 1F's, F1's, and FF's. And 0's, 1's, and 15's comprise 18.75 per cent of the 4-bit numbers, but the other collection is only about 3.5 per cent of all possible byte values. But it also produces a lot of 0x's, 1x's, Fx's, x0's, x1's, and xF's, where x is not 0, 1, or F. These account for another 30.5 per cent of byte values. Detailed statistical calculations show that for un-correlated data, there is no difference in the amount of compression that is theoretically possible in the two cases. Un-correlated data is data in which there may be an uneven statistical distribution, but that knowing the value of one particular 'character' doesn't make it any easier to predeict the value of some other character. The original images are highly correlated, for example. If a particular pixel is, say, red, then adjacent pixels are likely to be red or close to red. After diffenceing the data, that staement becomes the statement that there are a lot of 0's, 1's, and F's in the data. But one can also make the statement that in the original image, pixels that are two pixels away from a red pixel are likely to be red as well. After the differencing, this statement takes the form of '1's are likely to be followed by -1's (F's), and that 2's are likely to be followed by -2's or -1's, etc.'. Since adjacent 4- bit numbers are combined to make bytes, this means that there are also a lot of 1F's, 1E's, 2F's, 2E's, etc. Testing showed that for normal images, indeed, better compression was obtained with the 8-bit data. Typical compression obtained varies, but generally falls in the range 50 to 80 per cent, with 60 per cent being a common figure. References and Trademarks Any good book on computer data compression will cover Huffman coding in one form or another. It is a form of 'entropy reduction' coding that reproduces the original data exactly. Compression/decompression algorithms are outlined in this manual. Amiga is trademark of Commodore-Amiga, Inc. Diamond, Silver, Turbo Silver, Prism, PrismPlus, and Terrain are all registered trademarks of Impulse, Inc. Technical support for Diamond and other Impulse products is available by calling: 1-800-328-0184 Technical support hours are: Monday-Friday 9:00am - 4:30pm (CST). Impulse, Inc. 6870 Shingle Creek Parkway, #112 Minneapolis, MN 55430 (612) 566-0221