home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Enigma Amiga Life 107
/
EnigmaAmiga107CD.iso
/
PPaint
/
Tutorial.txt
< prev
next >
Wrap
Text File
|
1999-11-09
|
62KB
|
1,185 lines
Personal Paint Tutorial
Exploring Personal Paint
It is very easy to explore Personal Paint by choosing from the variety of
menus and gadgets. Once you start working with the program, remember to
frequently save your work during each session, and make periodical backup
copies of the entire disks. This will protect your work from mistakes,
power failures, software errors and disk read/write problems.
The gadgets on the tool bar which is displayed on the left of the screen
may respond differently depending on the pointer's position over the
gadget (upper or lower half), the mouse button which is used (left or
right), and the number of mouse clicks (for cycle gadgets). For example,
the tool to the right of the "a" text editing symbol activates the image
processing functions. If it is selected with the right mouse button, a
requester appears to select different image processing options. The area
on which image processing is to be applied can be delimited by dragging
the mouse (i.e. moving it while the left button is held down).
Personal Paint is not "dangerous to use: most program requesters can be
displayed to see what they do, and terminated by selecting the Cancel
gadget; painting and image processing operations can be undone; warning
messages are displayed whenever there is a risk of overwriting or losing
some data.
The tools which appear on the bar on the left of the screen can be
selected either with the left or the right mouse button, in their upper
or lower half. The right mouse button usually activates an options
requester associated with the tool. The upper and lower halves of the
tool may be selected to specify the unfilled or filled mode. You should
try out all tools in all possible combinations (left/right mouse button
and upper/lower half).
Clicking with the right mouse button on the little number which appears
among the predefined brushes pops up a little menu with numbers from one
to nine. This means that up to nine different brushes can be used. The
current number indicates which custom brush you want to use.
Most painting and image processing functions make use of the current
foreground and background color. These can be selected from the palette
which is displayed on the screen with the left and right mouse button,
respectively.
Again, left and right mouse buttons have different effects when painting.
The right mouse button usually clears the selected (or underlying) area
using the background color.
If quality is preferred over speed, the Floyd-Steinberg Color Remapping
and Color Average Resize should be activated and saved with the default
settings ("Settings" menu). If available RAM is very limited, you should
close the Workbench screen, and use only one environment and a single
brush. Screen modes with higher resolution and more colors require
proportionally more memory. If you don't know whether you have a lot of
usable RAM, or just very little, check with the Memory Information
command.
Before painting on a blank screen, you may want to choose an appropriate
screen mode, page size and color palette ("Project/Image Format" menu).
On Original and Enhanced Chip Set Amigas, low resolution screens (320 by
200) in 32 or 64 colors are normally preferred for paintings with plenty
of colors. Higher resolutions limit the maximum number of colors, and are
therefore used with palettes of up to 16 different colors. Advanced
Graphics Architecture Amigas can work in up to 256 colors in most video
modes. When you select a new screen mode, don't forget to set the page
size (usually the same as the screen size) and the maximum number of
colors. Setting the highest possible values is not necessarily the best
choice, especially if there is not much RAM to work with. Objects smaller
than the smallest possible screen can be saved as anim-brushes.
Personal Paint offers many original features which you might not expect
to find in similar programs. You can start impressing image processing
operations with a click on a tool, use the GIF file standard to read
thousands of 256-color images which are available, grab screens from
other Amiga programs, output to PostScript devices adding interesting
effects, merge different images into one (and creating one common color
palette), reduce the number of colors used by an image and much, much
more.
If you want to see some examples of what you can do by combining
different operations, just go on and read the following sections.
Gradient Fill
This example will show you what you can do with Personal Paint's special
fill and line modes.
Choose a high resolution screen format with 16 colors (Project/Image
Format menu). A standard PAL or NTSC high resolution mode will do. If you
are not annoyed by interlace mode, select an interlaced screen.
Display the color palette requester (Color/Edit Palette menu). The
requester also appears if you press <p>. Click on the first color in the
row of colors displayed at the top of the requester. Make that color
white by setting the R, G and B sliders appropriately (all sliders to the
right). If white looks too bright on your monitor, move the Brightness
knob to 80% to obtain a light gray. Then go to the second color and make
it black (the three sliders should be moved to the extreme left). Now
pick the next color (color position 02) and make it dark green (set H, S
and B respectively to 137, 100 and 46). Jump to position 08 and set that
color to light green (HSB = 82, 61, 86). Set color 09 to dark red (HSB =
0, 100, 66) and color 15 to pink (HSB = 11, 33, 100).
Now you need to create the intermediate shades of green and red. To do
so, click on dark green, select Create HSV Range (the gadget with a II
over the range symbol), and click on light green. Now there should be a
smooth transition of colors between dark green and light green. Repeat
the process with red: select dark red, click on the Create Range gadget
and then select pink. If everything goes well, you can select Proceed, to
confirm the changes. Otherwise, repeat the above steps.
In the color palette below the tool bar, click on black with the left
mouse button, and on white (or gray) with the right button. This will set
the foreground and background colors. Clear the image, if it is not
already empty, by selecting the Clear tool.
Select the smallest predefined brush (the first). You may also do this by
typing <.> on the keyboard. Select the Empty Rectangle tool by clicking
on the
top half
of the rectangle image with the
left
mouse button. Draw a
large box, almost as large as the screen, by clicking and dragging with
the left mouse button. If the box does not look like you would like it
to, select the Undo tool, or type <u>.
Pick the largest of the round brushes. Make it even larger by typing <+>
half a dozen times (use the plus sign which appears on the alphanumerical
keyboard, not the one on the numeric keypad).
Select the continuous freehand drawing mode by clicking on the top half
of the tool with the left mouse button. Move the pointer inside the box
which you have created, click on the left mouse button and move the mouse
to draw something like a snail, a worm, or an S-like shape. Release the
mouse button when you have finished. Again, select Undo if you would like
to try again.
Now click on the fill tool using the
right
mouse button. The Area
Settings requester should appear. Select the Manual Gradient Mode by
clicking on the Gradient Mode symbol until the four boxes crossed by an
arrow appear. Click on the Gradient Type gadget until the Shape symbol is
selected (a circle containing four arrows should appear). If you see the
correct symbols, select Proceed. The Gradient Fill symbol should appear
on the title bar.
Now select pink as the foreground color, and dark red as the background
color (by respectively selecting the colors in the palette with the left
and right mouse button). Move the mouse pointer over any point which is
inside the box, but not over the curved shape. The mouse pointer should
be displayed using the Fill symbol. Click on the left mouse button. This
will take a few seconds. The background of the box should be filled with
smooth shades of red. Now select light green (it should be just over red
in the palette) and dark green as the foreground and background color.
Fill the black shape inside the box as you have just done for the
background. You should now see something like a green snail lying on a
red cushion. If you wish, you can obtain different variations by
exchanging red and green, or light and dark colors.
If you want to experiment more applying the same techniques, you can
select the Filled Freehand tool (use the left mouse button to click on
the lower half of the gadget) and draw a heart-like shape. The heart will
be softly shaded using the colors from the current foreground to the
background color.
Did you expect that you could create similar effects with Personal Paint
and just a few mouse clicks? If you are looking for more surprises, just
go on reading.
Line Pattern
For this short example you can use the same screen, image format and
colors of the previous example. You will see how you can draw lines
composed of color cycles from a sequence of palette colors.
Select white (or gray) as the current background color (right mouse
button) and clear the image with the Clear tool.
Click on the Filled Rectangle tool (lower half of the rectangle image)
using the right mouse button. This will display the Area Settings
requester. Click on the Gradient Type gadget until the Horizontal
Gradient symbol appears (a two-headed arrow completely contained in a
circle). While the requester is displayed, you can choose some colors in
the screen color palette. Select dark red as the foreground color (use
the left mouse button) and pink as the background color (right mouse
button). You will see how the Gradient box changes to show a smooth
transition of red. Select Proceed.
Paint a long, horizontal filled rectangle by dragging the mouse on the
screen (left mouse button held down). It should automatically be filled
with the colors from dark red to pink. Now click once on the Define Brush
tool. Select a horizontal stripe inside the rectangle which contains all
gradations of red. Then click on the Line tool using the right mouse
button. The Line Settings requester will appear. Cycle the Line Type
gadget until Colored Pattern appears. Then click on the gadget
corresponding to the first brush (assuming that this is the brush you
have already defined). This will create a line pattern which uses the
colors that appear on the topmost line of the brush. Click on Proceed to
remove the requester. The Line Pattern symbol will appear on the title
bar.
Now select the large, round, predefined brush, and start drawing some
lines or freehand curves of different lengths. You will notice that the
path is made up of all the colors in the range which was originally
enclosed by the brush. You may try several variations by redefining the
color palette with different color spreads. By selecting the shaded
brush, applying Brush/Rotate/Horizontal Flip and pasting the new brush to
the left or right of the original pattern, you can create "ping-pong"
color transitions (with colors softly changing back and forth).
Combining Text Editing, Image Processing and Stencils
You could start this session using the same screen mode, page size and
color palette selected for the previous examples.
Select light green as the current background color (right mouse button)
and clear the image with the Clear tool.
Click on the Text tool with the right mouse button. This will display the
Font Selection requester. If you have many fonts, it will take the
operating system a few seconds to scan through all of them. Personal
Paint will then show you all the fonts which are available. Click on
"Topaz 9 oetf". This is a standard ROM-font which should be available on
all systems. (If you have a better font, use it.) In the Font Attributes
text gadget, change the 9 to 20, append an 's' after the other characters
and press <Return>. If you have version 2.0, or a higher version of the
operating system, you should now see an enlarged version of the Topaz
font. Click on Proceed.
Select black as the foreground color, move the cursor to the center of
the screen and type a short sentence. Now use the right mouse button to
select the Image Processing tool. Double-click on Blur Low. The requester
should disappear.
By dragging the mouse while the left mouse button is held down, select an
area of the screen which is sufficiently large to contain the text you
have just typed, with a margin of several dozen pixels. Line by line, you
should see the text being "blurred". This effect is useful if you want to
anti-alias
a text typed with a font which has visible "steps", or to
smoothly merge a text with the background.
Now let's try again, but blurring the pixels which make up the text
without affecting the background. Select Undo to cancel the effects of
applying image processing to the text. Select the Edit Stencil requester.
Put a checkmark on the light green box by clicking on it. Select Proceed.
The Stencil Mode symbol should appear on the title bar. Select Blur High
after clicking on the Image Processing tool with the right mouse button.
Apply image processing again by redefining the area to be processed. The
background should remain intact, while blurring should change the outer
parts of the characters, making them look a bit like oxidized copper.
Try another text color: select dark red and click on the Filled Rectangle
tool (left mouse button, lower half of the rectangle). Since the
background color is still "protected" by the stencil, you can change the
text by painting a rectangle over it. Try blurring again. Then disable
the stencil by typing <`> on the upper left of the keyboard: the stencil
symbol should disappear from the title bar.
Now you can repeat all of the above combinations using different text and
background colors, changing some colors in the palette, applying
different effects (like Blur High, Randomize High, etc.), activating the
F-S Error Diffusion option in the Filter Selection requester, etc. You
can use the stencil to protect the text color instead of the background
color (in this way, you could quickly recolor the background without
modifying the text).
Color Reduction and Remapping
This example will show you the differences between qualitative and
quantitative color reduction, and different types of color remapping. The
"Parrot.gif" and "Clown.gif" picture files are used in this section.
These files are part of a collection of pictures which is available for
use with Personal Paint. Check on the disks which come with the program.
If you don't have these files, you may use other pictures having the same
format, or contact your Amiga dealer. The single images are also
available from public domain sources.
If your Amiga employs the Original or Enhanced Chip Set, you do not need
to set the screen size before loading the images used for these examples.
If you have an Advanced Graphics Architecture Amiga, or any other Display
Database-compatible device capable of displaying 256 colors, you must set
the screen and image format to 320 by 200 (LowRes HBrite, PAL or NTSC),
64 colors. If you are using a PAL screen, or any other screen having a
different size, remember to manually set the image size to the 320 by 200
image format. You should not set more than 64 colors, otherwise you won't
be able to appreciate Personal Paint's color reduction and remapping
applied to 256-color images.
Make sure that Settings/Color Reduction is set to Qualitative and
Settings/Color Remapping is set to Simple.
Select Project/Load Image and choose the file named "Parrot.gif". (On the
data disks which are designed for use with Personal Paint, picture files
are stored in the "Pictures" directory.) Double-click on the file name,
or select Proceed to load the image.
A warning requester might appear, indicating that the selected image has
a format and number of colors different from the current environment
format. If you have been working with an AA (256-color) system, and have
manually set the screen format as explained before,
select the lower
gadget
to maintain the current format (the Stretch option should be
disabled). If you have an Original or Enhanced Chip Set Amiga, just click
on Proceed, leaving the default gadget selection unchanged. This will
activate the screen mode which most closely matches the format of the
selected image, i.e. Low Resolution HBrite.
The progress requester keeps you informed about the current status of
loading and converting the image. The time it takes also depends on the
color remapping mode and the number of colors (if the screen can display
all image colors, there is no need to color-reduce and remap).
The parrot image should appear on the screen. Select
Project/Environment/Copy to Other, followed by Project/Environment/Switch
(or press <j> on the keyboard). This will create a second environment,
identical to the first one. You will notice that you are in the second
environment from the "2:" which precedes the name of the picture on the
title bar.
Now change the Settings/Color Reduction option and choose Quantitative.
To see the difference between the two modes, you can now load the same
image again, repeating the same selection on the warning requester. After
the usual progress indications, a second parrot will appear. Can you
notice the difference at first glance? Look at the tail, and press <j> to
switch from one environment to the other: the first parrot has a blue
tail, while the second parrot has a gray tail.
Blue shades were used very little in that image, but were important to
render details like the tail. The qualitative color reduction method
respects these priorities. The quantitative method, on the other hand,
tends to preserve more shades of similar colors, as you can see if you
observe the branches of the trees.
Now we'll do another experiment to understand the difference between
different methods of color remapping. Leave both images as they are.
Reset the Color Reduction to Qualitative. Start from any environment, and
load the "Clown.gif" picture. Reply to the program messages as you did
before.
Now press <j> to go to the other environment. The parrot should still be
there. Select Floyd-Steinberg in the Settings/Color Remapping menu, and
load "Clown.gif". Now both environments contain the image of a clown.
Again, can you spot the difference? Look at the nose of the clown and
press <j> a few times. Floyd-Steinberg color remapping has created much
smoother color transitions, giving the illusion of a larger color palette
by carefully combining different colors.
Color Merge
This example will require considerably more Chip RAM, and might not work
on 1 Mbyte systems. It will show you how to merge the color palettes of
different images into a common palette, so that different images can be
viewed, overlapped and freely mixed on the same screen.
Four different images will be required. If you can spend more time on
this, select images which have different color palettes (both in the
number of color entries, and in the colors themselves), but were designed
for the same screen format. If all the source images have the same
format, you can create a simple poster without having to resize each
image in a different way. You should be able to create something like the
"PPaint.gif" sample file, where each image occupies a quarter of the
screen.
If you have selected images with a particular format, then select the
same format for the screen and image (Project/Image Format menu). The
Color Merge process merges different palettes into a new palette which
has the same number of colors as the current environment. For this
reason, an image format with at least 16 colors should be set for higher
quality results.
Now select brush number one. You can do this either by typing <1> on the
numerical keypad (not on the alphanumerical keyboard), or from the menu
which appears when you click with the right mouse button on the little
number among the predefined brushes, on the tool bar.
Use Brush/Load to load the first of the four pictures. Then select the
following brush number and repeat the process until you have four images,
each associated to one brush. Don't be surprised if the brushes are not
displayed with their correct colors. This is caused by the fact that the
screen (i.e. the current environment) may probably use a different set of
colors from the brush. Also, don't worry if you are using Load Brush
instead of Load Image: you need to do this to be able to process
different images at the same time. If you wanted to merge only two
pictures, you could use Personal Paint's two image environments.
Choose the Color/Merge menu item. In the requester, click on the items
which you want to merge. In this example, it should be sufficient to
click on the gadgets associated to the first four brushes. If the gadgets
are shadowed, you probably forgot to change the brush number before
loading a new brush. Select Proceed to see Color Merge in action.
If you didn't select Current in the merge requester, you have to select
Color/Palette/From Brush to apply the brush palette to the current
environment. Now you can cycle through all of the brushes to resize them.
This time, as each brush is selected, it is also displayed properly on
the screen. If you notice that a brush is deformed, i.e. it is too tall,
or too wide, apply Halve Vertical or Halve Horizontal. Otherwise, if the
brush is simply too large, select Halve from the Brush/Resize menu.
Now you have four brushes which are small enough to be manipulated and
combined on the screen. For most Amiga users with some graphics
experience who see four completely different pictures on the same screen,
it is a surprise to discover how few colors need be used. Paste the
brushes on the screen to create an image like "PPaint.gif", or
"ColorMerge.gif".
You could apply some variations to the process described here. For
example, you could activate the Color Average Resize option in the
Settings menu. This would considerably slow down resizing operations, but
would also improve the quality of brush resizing. Alternatively, you
could set the Color Remapping option to Floyd-Steinberg. In that case,
however, you would have to first resize the images, and then execute the
color merge. Otherwise, resizing the brushes would alter the
Floyd-Steinberg patterns created by the color merge and remapping
process.
If you want to save the image, use Project/Save Image. When choosing the
file format, keep in mind that GIF files generally occupy less space than
other formats, whereas IFF-ILBM is the standard which will allow you to
exchange data with most other Amiga software. If you like special effects
on your Workbench, you may want to use colored picture-icons.
To conclude this example, click on <F9> to hide the tool bar with the
color palette. Then look at the screen: can you remember how many colors
you used?
File Formats
Personal Paint and other Cloanto programs use external input/output
modules to read and save data in different file formats. I/O modules can
be added to extend the software without replacing the main program. The
modules are standard Amiga libraries, which can be stored either in LIBS:
or in the local directory (e.g. "PPaint:libs"). If libraries exist in
both places, the software determines which library is newer, and uses
it.
Each library may support more than one file format. Some formats may be
available only as read formats or only as write formats. For example,
images can be written as C source code, but they cannot be read back from
that format (a C compiler would be able to process such a file). The
Plasma module instead, generates synthetic images, and is only an input
module.
Some libraries have configuration options which can be set by the user
from the file requester, or through the ARexx programming interface. By
default, it is not necessary to change the file format options, which are
preset in a way which guarantees compatibility, efficiency and processing
speed. When a file is saved in the same format in which it was loaded,
the settings originally associated to the file format are preserved
(unless they are explicitly changed). For example, if an IFF-ILBM image
without screen mode information is loaded and edited, it is then saved
back without this information.
ILBM, PNG, GIF and other file formats usually employ 24-bit color
palettes, but not all non-AGA Amiga screen modes have a 24-bit color
resolution. Personal Paint always encodes palette colors using 24-bits
("true color") for higher quality, but colors may be rounded to the
closest Amiga color step (12 bits, i.e. 4 bits for each Red, Green and
Blue component, on original Amiga architectures) when they are copied
into the environment palette. In order not to lose color resolution when
loading an image and saving it again, you can set the read-only settings
REDBITS, GREENBITS and BLUEBITS to 8. This does not apply to brushes,
which can be loaded and saved without changes to the palette granularity
by Personal Paint, regardless of the current video mode color
resolution.
It should be kept in mind that Personal Paint is a palette-based program
which can perform professional conversions from true color (24/48-bit)
data to palette images, but it cannot save back using true color formats
such as JPEG (or true-color-mode PNG, PCX, IFF or others), the only
exception being true color (8-bit) grayscale images which can be edited
as palette-based images (up to 256 levels of gray), and saved as true
color images in formats such as PNG.
When loading a file, the "AUTO" file format option indicates that the
file format should be detected automatically. If more than one loader
exists for a specific file format (e.g. DataTypes, SuperView and/or a
specific Cloanto I/O module), it may be useful to manually select the
preferred loader. Otherwise, the first loader from the top of the list
which recognizes the format is used.
The following sections list various file formats supported by the I/O
modules which can be used with Personal Paint. Options are explained only
once, even when they are common to several formats. The section "Personal
Paint for Authors" of this tutorial chapter explains some practical
applications of the various formats.
IFF ILBM
IFF ILBM (from "Interchange File Format - InterLeaved BitMap") is the
Amiga standard format. It is very fast, and compatible with most Amiga
applications, although it does not compress as well as PNG and GIF.
This format supports stencils and transparencies. If a stencil (color
mask) is active, it is saved with the image. The ILBM format is also
capable of storing 24-bit data and Amiga HAM and HAM8 images, which
Personal Paint can load. Comments (Author, Copyright, Annotation) are
also supported.
Options include Compression (activates or disables compression) and
Screen Format (specifies whether to save screen format information with
the image).
PNG
The PNG (Portable Network Graphics) format is the newest and the most
advanced of all the formats supported by Personal Paint. Personal Paint
was the first paint program worldwide to support PNG. PNG offers the best
compression of all file formats, and manages both palette-based and true
color (up to 48-bit) images. PNG can store transparency information, as
well as comments.
The Automatic option determines whether the library should check the
palette and determine if it is a grayscale palette, and only in that case
automatically save the image in a special grayscale type of PNG, which is
more efficient. An image is considered grayscale if the palette contains
2, 4, 16 or 256 entries being a perfect set of black-to-white shades.
The Progressive Display option means that the image is stored in a way as
to support progressive display during load. This increases the file size,
but allows for some types of mostly online (Internet) viewers to allow
for a preview which is raw at the beginning, and progressively more and
more detailed.
The compression level can be set from minimum (one) to maximum (nine).
The maximum compression level takes longer to compress, but it does not
affect decompression.
GIF
GIF (Graphics Interchange Format, officially pronounced "jif") is a very
well-established graphics format, especially on the Internet. Its
popularity is only menaced by patent issues which make it necessary to
pay a royalty to Unisys Corporation for each piece of GIF software sold.
For this reason, the GIF input/output library is not included with all
versions of Personal Paint, especially those manufactured by third
parties under license from Cloanto.
GIF compresses much better than ILBM, and almost as well as PNG. It
cannot store true color data.
The GIF library includes an option to select between the GIF87a and the
GIF89a specification. GIF89a supports comments, transparency information,
and animation. The Frame load option allows the user (or Rexx client) to
specify a specific animation frame to be loaded.
BMP
The library included with Personal Paint supports both the Windows and
the OS/2 version of the BMP (BitMaP) format.
This format supports palette-based and 24-bit true color images. The
Windows variant supports two types of compression (RLE4 and RLE8, used
for images having more than 16 colors), but not all BMP loaders support
compression.
PCX
PCX (ZSoft Paintbrush File Format) is the format originally preferred by
simple MS-DOS paint and scanner programs. This format supports
palette-based and 24-bit data.
Internally, different PCX subformats are used in order to achieve best
compatibility with existing PC systems. Two-color images are saved as CGA
monochrome files. In this format, a few image loaders may assume color 0
to be black, and color 1 to be white. In such a case, the two colors
should be exchanged in Personal Paint's palette before remapping and
saving the picture. Images with 4 or 16 colors are stored as EGA/VGA
16-color files (adding extra empty planes if necessary). Images with more
colors are stored as 256-color VGA files.
The Compatibility option, required to exchange data with some programs,
forces the library to only use a rigid set of PC palette sizes, and add
unused colors if the image has an intermediate number of color entries.
IFF ACBM
ACBM is an acronym of "Amiga Contiguous BitMap format". This is an old
IFF format similar to ILBM, only that it is not compressed.
Encrypted
The Encrypted format is useful to protect "private" pictures. Encrypted
images are modified using a key. If the picture is not loaded using the
same encryption key, it will be unreadable. The file name is not
encrypted.
The encrypted format should not be used, imported or exported where doing
so would be illegal.
PBM
The PBM (Portable BitMap, for black and white images) format and the
closely-related PGM (Portable GrayMap, for grayscales) and PPM (Portable
PixMap, 24-bit images) are part of a popular (especially some time ago),
mainly freely disributable, set of conversion and image processing tools.
Personal Paint's PBM library supports all three formats, each of them
both in the binary and in the ASCII variant (Binary option). Data stored
in these formats is not compressed.
If the Automatic option is disabled, images are always stored in the PPM
(24-bit) format. Otherwise, the software automatically detects the best
format, based on the image format.
Raw
This format was designed for Amiga game developers and other programmers
asking for a quick and informal way to incorporate bitmaps into their
code.
The Colors option can be set to 0 to save only the image data, to 1 to
save the palette data followed by the image data, or to 2 to save the
image data followd by the palette data. The image data is written
bitplane after bitplane (each data-row is WORD-padded). The palette data
consists of three bytes (RGB) for each palette entry.
TIM
This is the graphics file format of choice on the PlayStation system
because it closely matches the display hardware architecture, and
therefore is very efficient. The following TIM modes are supported by
Personal Paint: 4-bit CLUT, 8-bit CLUT, 16-bit direct and 24-bit direct.
TIM files can be found on PlayStation CD-ROMs, which apart from the copy
protection information can be read by Amigas with a CD-ROM drive and an
ISO 9660 filing system. This means that TIM graphics on PlayStation CDs
can be loaded directly into Personal Paint.
Of course, Personal Paint can also save different variants of TIM files,
which is very important for PlayStation games developers. The following
(more technical) notes are dedicated to PlayStation artists and
developers.
When saving, the width of 4-bit images is rounded up to the next multiple
of 4, and the width of 8-bit images is rounded up to the next even
number.
Unlike "Save Brush", which stores transparency information as set by the
transparency settings, "Save Image" does not save any transparency
information. This means that images stored with this command will be
"opaque", unless the TRANSPBLACK option is set.
The TIM format currently supports 16/256-color images ("CLUT" mode) and
true color images (16/24-bit "direct" mode). In either format except for
24-bit (which stays 8-8-8), the color resolution is limited to 5 bits per
color component (5-5-5, i.e. 15-bit palettes, allowing for 32768 colors
or 32 levels of gray). To accurately create images in this color
environment it is recommended to set the REDBITS, GREENBITS and BLUEBITS
program settings to 5.
Several options determine how images are written by Personal Paint.
FORMAT:
0 = 2..16-color images are saved as 4-bit files and 32..256-color
images are saved as 8-bit files, 1 = Images are saved as 16-bit "direct"
files, 2 = Images are saved as 24-bit "direct" files.
IMAGEX:
Image X coordinate in VRAM
IMAGEY:
Image Y coordinate in VRAM
PALETTEX:
Palette X coordinate in VRAM (only for CLUT files)
PALETTEY:
Palette Y coordinate in VRAM (only for CLUT files)
TRANSLUCENT:
0 = All colors (except black and the transparent color, if
any) are marked as translucent, 1 = All colors are considered solid
colors (only for CLUT files).
TRANSPBLACK:
0 = Black is encoded as transparent, 1 = The brush
transparent color is encoded as transparent (only for CLUT files).
C Source Code (Save Only)
The C source code format is suitable for embedding image data into Amiga
C graphics programming environments.
C source code files also contain a filled-in Amiga
DrawImage()
-compatible
Image
structure and arrays with color palette data in formats suitable
for both
LoadRGB4()
and
LoadRGB32()
. Unused bitplanes are not output as
data, but marked in the appropriate
PlanePick
and
PlaneOnOff
fields. The
image array data type is defined as "UWORD chip". The "chip" keyword is
used by some compilers to make sure that the data is loaded in Amiga Chip
RAM at run time. It may be necessary to remove it, or modify it into a
different name (e.g. "__chip").
ASCII (Save Only)
This is a simple "text art" format.
The Width and Height parameters, in the range 0..32767 indicate the
number of characters per row and column, respectively. If one of the two
values is 0, then it is adjusted to a size in proportion to the other
value, in consideration of the image aspect. If both are set to 0, then
the width is adjusted to 80.
The Gray Shades string contains a variable number of characters used to
render the different levels of gray, from black to white (e.g.
"#@08Oo+=-:. "). The more characters there are in the string, the more
shades will be used to render the image.
JPEG Format (Load Only)
The JPEG (Joint Photographic Experts Group) is a sophisticated,
highly-compressible (and
lossy
, meaning that the original image is not
preserved) format to render true color images. It cannot store
palette-based images, and it is not suitable to render sharp contrasts.
It is ideal for "real life" images.
The Quality load option activates a fast and not very accurate algorithm
(DCT/IDCT) if set to 0, or a higher-quality (but slower) "fancy
upsampling" procedure if set to 1. If the Gray Shades option is enabled,
the image is converted to a grayscale picture during the load. The Format
setting determines whether the image is to be loaded in its original
format (Format = 0), or reduced to 1/2, 1/4 or 1/8 (Format values of 1, 2
and 3, respectively) of its original width and height.
Photo CD (Load Only)
This is a Photo CD implementation licensed from Kodak. Personal Paint can
load 24-bit images, as well as rotated images.
Please note that on a standard Photo CD CD-ROM, pictures are usually
stored in a directory named "Photo_cd/Images". The files have names like
"Img0001.pcd", "Img0002.pcd", etc.
Format values in the range 1..5 respectively select the following image
formats:
1: 192 × 128 (BASE16)
2: 384 × 256 (BASE4)
3: 768 × 512 (BASE)
4: 1536 × 1024 (4BASE)
5: 3072 × 2048 (16BASE)
Setting Gray Shades to 1 forces a grayscale conversion.
The Photo CD implementation includes two loaders. In addition to the
normal image loader, a "Photo CD Overview" loader (short: "PCD-OV") is
used to load the thumbnail images showing miniatures of the photographs.
On standard Photo CDs, these are stored in the "Photo_cd/Overview.pcd"
file.
A Format value of 1 or 2 respectively selects the 96 × 96 (1) or the
192 × 192 (2) thumbnail format. The Columns value (range: 1..32767) sets
the numer of images per row.
DataTypes (Load Only)
This I/O module acts as an interface to load any type of pictures
supported by the Amiga DataTypes. Both palette-based and true color
images are supported (picture.datatype version 43).
Plasma (Load Only)
Plasma is not strictly a loader, but rather a generator of fractal
images. This library uses a variety of parameters.
Width:
width of the image to be created; if 0, the current image (or
brush) format (width and height) is used.
Height:
height of the image to be created; if 0, the image or brush
format is used.
Colors:
number of colors of the image to be created (4..256 colors, i.e.
depth 2..8); if both Width and Height are set to 0, then the image (or
brush) depth is used.
Graininess:
image "graininess" in 1/10000 (range 5000..500000, default
20000).
Random Seed:
random seed; if negative, totally random image palettes are
generated.
Gray Shades:
color (0) or grayscale (1) palette; gray images can be
useful as alpha channel information.
Scanner (Load Only)
A scanner I/O library is not normally supplied with Personal Paint, but
it is rather provided with products such as ScanQuix. It is mentioned
here mainly to draw attention to the fact that the I/O modules allow for
capabilities which go beyond simple file I/O.
Personal Paint for Authors
Personal Paint offers a unique range of features designed for authors of
artwork to be distributed on computer files. In this section, we would
like to share with you some of the experience collected by leading
artists. We also explain some of the settings we at Cloanto prefer in our
own configurations.
An image or an animation created with public distribution in mind
requires some considerations which are normally not relevant when a file
is used only on the author's computer.
As the public grows wider, compatibility becomes an issue: the image or
the animation may have been created using a screen mode different than
what a viewer may have available. Some (especially older) picture and
animation players had limitations and bugs, and it could be interesting
to have access to a range of options designed to prevent potential
difficulties before they become a problem for end users.
Associating information such as author, copyright, and other comments to
files is usually appreciated both by authors and by the public (as well
as by possible publishers). Also, there should be no difficulties or
formalities in distributing the icons created by the art application, or
even replacing these with new default icons. Both the icons and the image
file should be product-neutral (no hidden advertising texts inside the
file). After more than six major versions, Personal Paint offers
experienced answers to these and many more requirements.
Most computing platforms use display modes made of square pixels (i.e. an
X/Y ratio of 1, as on the Macintosh, or on the PC's VGA) as a standard.
This means that the pixels are exactly as tall as they are wide. To be
round, a circle drawn on such a screen would be as wide (in pixels) as it
is tall. Not so on the Amiga. The original non-interlaced Amiga modes had
a ratio close to 0.5 (so-called "tall-pixels"). A "round" circle could be
10 pixels on the X-axis and 5 pixels on the Y-axis. Most artists prefer
to work with square pixels. Yet even here there is no exact match on the
Amiga. PAL and NTSC screen modes, for example, have pixels of slightly
different ratios. Before it draws a circle, Personal Paint queries the
Amiga Display Database to obtain information on the ratio. For example,
the Display Database could tell Personal Paint that a "round" circle must
be 10 pixels wide and... 9 pixels tall. This is not what most artists
want. Rather than working with similar approximations, at Cloanto we
prefer to activate the Square Pixels option. This ensures that the
resulting images appear correctly when viewed using 1:1 pixels,
regardless of the screen mode in which the image was created.
Normally, when storing an image in formats such as IFF-ILBM, information
about the current screen mode is also saved. When the Amiga was first
released, associating a screen mode to an image allowed simple viewer
applications to quickly open a screen of the same type as the one used by
the author. At that time, options were limited: screens could be either
low resolution or high resolution, interlaced or non-interlaced. These
were common to all Amigas. Minor difficulties would result from images
crossing the oceans separating PAL from NTSC video modes. Today, there
are not only different generations of Amiga display hardware, but even
third-party graphics boards. Even users of identical Amiga computers may
have installed different Monitor files on their systems. Furthermore,
applications became more intelligent: Personal Paint, for example, excels
in automatically picking the best available screen mode to display an
image.
Over the years, associating default screen modes to pictures has become
more dangerous (the default may not be available, or viewable, on the
user's machine) and less necessary (software is more intelligent). At
Cloanto, we now prefer to store all images without associating a default
screen mode to the file. To switch this option, open the Options window
in the Save Image requester and clear the Screen Format setting. File
formats which cannot save screen mode information (e.g. PBM) do not have
this option.
Animations require some additional attention. In accordance with the
different Amiga ANIM specifications (standards for animation file
formats), a default screen mode
must
be specified in the file. Personal
Paint and the most used Amiga animation players are capable of overriding
this information when loading an animation, and can automatically select
an appropriate screen mode just as Personal Paint does for images. This
is necessary, for example, when an animation's default mode is not
supported on the computer where the animation is to be played.
Nevertheless, when an animation is
saved
, the current screen mode is
always stored with the animation. At Cloanto, we have decided to
associate "DblPAL" screen modes to the animations we create and
distribute. These screen modes are supported by all AGA machines, and can
be displayed on VGA monitors not supporting 15 kHz modes. Furthermore,
the pixel X/Y ratio of PAL is closer than NTSC to 1, which is preferred
by most artists. The AGA chip-set is very common among the more active
Amiga users. Yet even if the end user's machine does not support DblPAL,
the animation can be displayed in other screen modes (the screen mode
information is only a hint required by the ANIM standard, not an
imperative for applications).
Users of original and ECS Amiga chip-sets, as well as users of some
display cards such as the Picasso II should consider another issue: color
resolution. AGA allows users and applications to define and set colors
using 8 bits per color component (red, green and blue). This is 24 bits
(or 256 gray-levels, or more than 16 million different
color-combinations). Older Amigas only support 4 bits per component (i.e.
16 gray-levels, or 4096 colors). The Picasso II uses 6 bits per component
(64 gray levels, or 262 144 colors). This means that on some systems
colors cannot be defined with the precision possible on AGA (e.g. on the
Amiga 1200 and 4000), for example. Users of Personal Paint can quickly
check the color resolution of a given screen mode by displaying the
Palette requester and setting any color-slider to the maximum. The
numerical value indicates the precision of the display (e.g. a maximum
level of 15, 63 or 255 would indicate that the hardware supports 16, 64
or 256 levels for that color component).
When a palette is loaded on a system with a lower color resolution, a
majority of colors is likely to "snap" to coarser levels. If the image is
then saved again, a loss of data may occur. As an artist, you may want to
make sure that the colors you see on your system will be loaded and
represented the same way by an older Amiga. Or, even if you do not own a
system capable of handling 8 bits per color component, you may need to
edit images in that resolution without losing precision. Personal Paint
offers a solution to all these requirements, by allowing the user to
manually set the color precision (number of bits per color component).
Even if this is different (higher or lower) than what is supported by the
system, Personal Paint can use a custom value for all processing,
overriding the Amiga defaults. When the program settings REDBITS,
GREENBITS and BLUEBITS are set to 0, Personal Paint uses the maximum
color resolution supported by the video device currently used. This is
the program's default. Other values, however, force Personal Paint to use
specific numbers of bits per color component. For example, setting all
three values to 8 allows for precise editing of AGA-resolution palettes
even on ECS or Picasso II systems.
At Cloanto, where we work with different Amiga computers and graphic
boards, we manually set REDBITS, GREENBITS and BLUEBITS to 8 in our own
startup files. If you have an AGA computer and you only work in AGA
screen modes, you should not need to set these values yourself (by
default this is taken care of by Personal Paint), unless you want to
emulate a coarser color resolution.
When we save an image, at Cloanto we use the IFF-ILBM format if the image
is mainly for Amiga distribution. The options we normally set are:
compression active, no screen format information. IFF-ILBM is the most
supported Amiga image file format, and also offers excellent loading and
saving times (e.g. viewers are faster), but its compression is not as
good as in other formats (i.e. the files are longer). When space is
really tight and excellent compression is a priority, we use PNG
(options: compression level 9, no progressive display, automatic mode
enabled). Setting a PNG compression level higher than 6 slightly improves
compression, but considerably slows down the compression procedure. PNG
is also our format of choice when the images are to be read by other
computers. We used to prefer GIF for cross-platform distribution, but
GIF's popularity was suffocated at the end of 1994, after Unisys
Corporation began demanding royalties for software reading and writing
GIF (and TIFF/LZW) files. When we write images to be used on an Amiga
CD-ROM, we sometimes prefer another format: uncompressed IFF-ILBM (no
compression, no screen format information). This can generate quite long
files, but on a CD-ROM space is usually not a problem. Due to the minimum
software overhead, uncompressed IFF-ILBM files can be loaded considerably
faster than other formats, especially on slower machines.
When we write animations, at Cloanto we usually store them in ANIM-5
format. This is the most supported standard for Amiga animation files. It
also offers good compression. ANIM-7 files can be processed faster,
although they are not compressed as well and are not as widely supported
as ANIM-5. We use ANIM-7 for 256-color animations, and sometimes to store
all types of animations on CD-ROM, when we know that an ANIM-7 viewer is
available (e.g. Personal Paint). Very rarely, when a disk is really
packed, we store animations in the ANIM-5+7 format. When this format is
used, Personal Paint decides whether to use ANIM-5 or ANIM-7 on a
frame-by-frame basis, depending on which format yields the best
compression. This adheres to the ANIM specifications, but requires that
the software loading the animation can handle both ANIM-5 and ANIM-7. We
never use ANIM-8. It is neither as popular nor (in general) as good as
ANIM-7.
Quite often, at Cloanto we use Personal Paint to optimize old animations
(among others, using the Optimize Frames command) before saving them
again. This alone can halve the size of certain animation files. Some
older and not very popular animation viewers do not support
frame-by-frame timing. In this case, the Optimize Frames command cannot
be used. These same programs usually also do not support more than one
color palette per animation (see the introduction to chapter 6). Personal
Paint marks these palettes with three dots under the associated frame in
the storyboard. At Cloanto, we use frame-by-frame timing and multiple
palettes without concerns, since neither of the limitations described
here is an issue with the most recent and the most used Amiga animation
viewers.
A few other options can affect the animation format. Before the animation
is saved, we make sure that the current screen mode is the one that we
want to associate to the animation (see explanation in this same
section).
Some older programs have a bug which does not allow them to handle
certain types of properly-written ANIM files. DPaint (up to release V) is
one of these programs. When compatibility with these applications is
important, we disable the Full ANIM Optimization option.
As an author or publisher of an image or animation, you may want to
fill-in the Author, Copyright and Annotation texts, which are supported
by most file formats. You could put your name as the Author, and
something like "Copyright © [Year of first publication] [Your name] -
Freely Distributable" in the Copyright text. The Annotation could include
a postal or E-mail address. Personal Paint allows for this information to
be easily edited at any time. Empty fields are not saved, and do not
occupy any space in the file.
On the Amiga, Workbench icons are usually associated to files. Personal
Paints can save images and animations using the default icons stored in
the "PPaint:PPaint_Icons" drawer. These icons also determine the Default
Tool, which is the program which will be loaded when the file is
double-clicked on. If you like the icons which come with Personal Paint
(they are freely distributable), you can leave them as they are, or
perhaps you may want to change the default tool, for example by putting
"VT" instead of "PPaint:PPView". This can be set with the Workbench
Information command. PPView is a short program which uses Personal Paint
as a viewer (it loads Personal Paint, if it is not already loaded).
Please be careful not to Snapshot (Workbench command) the icons inside
"PPaint:PPaint_Icons" to a fixed position. When dropping a new default
icon inside the drawer, select the Workbench UnSnapshot command.
At Cloanto, we usually set the Icons option to Original when we only want
to change the file format of a picture or animation. This guarantees that
the existing icon image will not be affected.
Personal Paint for Internet Publishing
As more and more organizations and individuals publish their work on the
World Wide Web, it is becoming more important to stand out with carefully
thought out web pages. Graphics play an important part in this. Poorly
implemented pages annoy users with images having wrong or missing
transparency information, lack of progressive display, and long
transmission times for 256-color images where 16 or fewer colors could
achieve the same results.
In addition to supporting Internet still image formats, Personal Paint
includes tools to create highly-optimized GIF animations, and to edit
"image map databases". GIF animations became increasingly popular after
1995, when several browsers began supporting this format. Image maps make
it possible to specify regions on an image, and to associate them to
actions that are executed when the user clicks on a region. The
"LoadAnimGif", "SaveAnimGif" and "WebMap" Rexx macros contain additional
documentation which can be displayed by selecting "About..." in the Macro
Selection requester.
Common File Formats
Personal Paint is an ideal tool for the creation of palette-based images
to be included in HTML documents (the standard for web pages). Two file
formats are recommended for this purpose: GIF and PNG. Both formats
support progressive display and transparency, the appropriate use of
which can make a difference between a good page and a poor page. We
recommend the use of both features.
GIF exists in two variants: GIF87a and GIF89a. PNG and GIF89a support
transparency. GIF87a does not. The GIF format is designed in a way that
programs supporting only the "87a" format should be able to read "89a"
images, skipping the transparency information. Personal Paint's most
recent GIF input/output libraries ("personal_gif_io.library" from version
3.2) allow for the GIF version to be specified in the Options window of
the Save Brush requester. Library versions from 5.1 also support reading
and writing of GIF animations (with appropriate client programs, such as
Personal Paint 7).
PNG is technically better than GIF, but it has been officially introduced
to the list of WWW-supported formats only in late 1996. It is likely that
PNG will slowly replace GIF, which is being suffocated by patent
problems. At Cloanto we began using GIF for our WWW images, but we expect
to replace it with PNG as more browsers support it.
Progressive Display
Progressive (also called "interlaced") display is a feature which is
useful whenever it takes a long time (seconds, if not minutes) to load an
image. Images stored without this option can be displayed only line by
line, from the top to the bottom. It is very difficult to have an idea of
the contents of such an image at the beginning of the transmission. If
instead the progressive display option was enabled when the original
image was saved, the entire image can be viewed in a coarse resolution at
the beginning of the transmission, and during the transmission it becomes
progressively more detailed.
All versions of GIF and PNG support progressive display, although PNG
uses a more appealing method. Personal Paint has a Progressive Display
setting in the Options window of the Save Image and Save Brush
requesters. Images saved using this option occupy slightly more space,
but can be displayed progressively during the load. This feature is
widely used on the Internet, and it is compatible with all WWW browsers.
Transparency
Transparency is a feature which allows part of the image to be defined as
transparent. This is useful, for example, when non-rectangular images
have to be displayed over a pattern. But even if the background of a
non-rectangular shape has the same color of the page background, we
recommend setting that color as transparent, because some browsers may
remap the image background to a slightly different color than the page
background color. Some WWW browsers do not support the HTML commands
which set the page background color, so an image background which was
intended to be the same as the page, could appear to be different.
Transparency can prevent this. Active use of transparency helps
maintaining the quality of the page even when these browsers are used.
To preserve the best possible page quality even with older browsers we
recommend to use transparency and at the same time to also make sure that
the transparent color is the same as the page background color. This
helps with those few browsers that do not support transparency.
Personal Paint saves transparency information only when saving brushes
(Save Brush command, rather than Save Image). The transparent color is
defined when the brush is defined. If the Transparency option in the
Settings menu is set to None, then no transparency is associated to the
brush. If instead it is set to Color, then the background color during
the brush definition is used as transparent. Other types of transparency,
such as transparency shapes which are not associated to a single color,
which can be defined and stored in the IFF-ILBM format, are poorly
supported on the Internet, and not at all supported by the GIF format. So
the only way to mark a region as transparent is to reserve a color for
that part of the picture, and selecting it as the background color before
the brush is defined.
While for still images we can safely recommend to use transparency for
the background color even when this is not strictly required, for
animations the choice can be more difficult, because transparency may
have an impact on the size of the animation file, and also because some
older browsers do not properly support certain types of transparent GIF
animations. Therefore, for animations we recommend to set Transparency to
"None" unless a transparency effect is required. The Frequently Asked
Questions section of Personal Paint contains additional notes on possible
problems which may be experienced when transparency is applied to GIF
animations, and how these can be solved.
Color Palettes
It should be considered that even 100% Amiga-oriented web sites are very
often (if not preferably, as some statistics indicate) viewed using a PC
browser. When they are not operating on a true color desktop (or
"Workbench", in Amiga terminology), the majority of PC Internet browsers
remap and dither all images using a 216-color "isopalette", which is a
palette in which the entries are equally distributed in the color space.
This allows for fast and efficient dithering, and is in general preferred
to other methods involving dynamic color allocation and change based on
the different images.
Internet browsers by Microsoft, Netscape and others share a common
216-color isopalette. The remaining colors out of 256 change from browser
to browser. The "Colors" drawer in the Personal Paint program directory
contains this color palette (as well as the subset of grays) ready for
use with Personal Paint. Whenever this choice is easily practicable, we
recommend to consider using these colors for palette-based graphics,
especially for large surfaces of the same color, which would otherwise
risk to be dithered by the browser.
Other Recommendations
Newer browsers support a feature called "Low Resolution Preview"
("LOWSRC" attribute in the "IMG" HTML element), which makes it possible
to specify a very compact image, usually in low resolution and with very
few colors, which is displayed before the higher-resolution image is
loaded and displayed in the same place. If this feature is used, it is
important to consider that the low resolution image can use progressive
display, but the high resolution image should not, because it would
immediately cover the preview image.
It is important to keep in mind some practical Internet traffic,
bandwidth and cost restraints, which suggest that the size of the image
files should be as small as possible. If you are planning to publish a
256-color image, try to color-reduce it to 16, or even fewer colors. Very
often, the difference in quality can hardly be noticed, but a 16-color
image is transmitted twice as fast as one in 256 colors (and costs less,
if traffic or time are charged). Personal Paint's most professional
quantization mode is activated by setting the Dithering option to
Floyd-Steinberg, with the Best Quality option active. It should also be
noted, however, that Floyd-Steinberg dithering creates patterns which can
slightly reduce the compression rate.
Copyright © 1992-1998 Cloanto