By Sum Becasso
Paint & Imaging Software
For the
BeOS®
© 1997-2003, Sum Software

Contents

Overview

Becasso by Sum is a combined paint/image editing application for the BeOS® featuring alpha channel support, layering, multi-level undo/redo, add-on architecture for external filters, transformators and generators, an orthogonal user interface, and import/export of numerous file formats via the Translation Kit.

Launching

Becasso can be launched by either double-clicking on its icon, dropping one or more files of a supported type on its icon, or double-clicking the icon of a supported file type. You can use the FileTypes application to select Becasso as the preferred handler for any image type for which you have installed a Translator. When launched via one of the latter two methods, Becasso will open the file(s) at startup.

Registering

Becasso does not have a separte demo/trial version. Instead, Becasso needs to be unlocked with a Keyfile. Without this Keyfile, Becasso is fully functional except for imposing a watermark when exporting. If you have an ESD version of Becasso (i.e. you downloaded it somewhere), you can obtain this Keyfile here for $29 USD. Sum Software will then send you the Keyfile via email, and once you place it in your ~/config/settings/Becasso directory, Becasso will be fully functional. Any Becasso files you created during the trial period can be opened and re-saved to get rid of the watermark.
If you have a CD-ROM version, Becasso will generate the Keyfile for you.

The Main Window

One of the main characteristics of Becasso is a clear and simple user interface that doesn't get in your way and only shows what you want it to. The main window shows a File menu, five square buttons, and a short description of the button the mouse is currently over. From left to right, these buttons are the Mode Selector, the Tool Selector, two Color Selectors for the foreground and background colors, respectively, and a Pattern Selector.

The Mouse and the Main Window

When over one of the selector buttons, the left mouse button is used to open a popup menu to select the mode, tool, color, or pattern. The menus are so-called tear-off menus, meaning they will "stick" to the mouse while dragging, and can be placed anywhere on the screen. A right mouse button click on a button opens an Attribute Window for the corresponding selection. For users with a one-button mouse, a right-click can consistently be emulated in Becasso by holding the Control key while clicking. As a special shortcut, double-clicking on a tool button also opens the corresponding attribute window.

The File Menu

The New Canvas... menu option opens a dialog window in which the dimensions of the new canvas can be adjusted, and a new canvas can be created. With Open File..., you can open any image file for which you have the corresponding Translator installed, as well as Becasso's own file format. The menu also contains a submenu for for quick access to recently opened image files. When the Open File... option is selected, a file panel appears showing a thumbnail preview of any currently selected image. You can also open files by dropping them on the main window, or by double-clicking them in the Tracker when you have set Becasso to be the preferred handler for their type.

With the Capture feature, you can access special add-ons for various hardware (like scanners, digital photo cameras, video cameras, or TV cards) and capture still images from them.

Print Setup opens the standard BeOS page setup dialog, which can be used to setup various properties of the printer.

About Becasso opens a window with information about the current version of Becasso and two buttons that act as shortcuts to viewing the present documentation, or Sum Software's home page, respectively.

Preferences... opens a new window in which you can select the number of recently used files to keep in the Open File... submenu, and the interface language to use next time Becasso is run. The language-specific strings used in Becasso are stored in separate files which can be edited with StyledEdit; new languages can be added without modifying Becasso itself. Furthermore, the maximum number of undo buffers can be adjusted. Note: The memory usage of Becasso is largely dependent on this setting. It is recommended you keep this number within reasonable accordance with the available RAM/virtual memory on your machine, and the average size of the images you are going to work with. It is a dynamic setting, so you do not need to restart Becasso after changing it.

Quit iterates over any open canvas windows, checks whether their contents have been modified since the last save, asks for an acknowledgement if so, and closes them. After that, Becasso will exit.

The Mode Selector

The leftmost button in the main window is for selecting the current mode of operation of Becasso. One of the most apparent features of Becasso is the orthogonality of the tool set, which means that any tool can be used both for drawing and for selecting. The drawing mode is depicted by a pencil icon, the selection mode by a pointing hand icon. The Drawing Mode Attribute Window, which pops up on a right click (or a Control-click) on the drawing mode icon, allows setting the current drawing mode via a popup menu. The drawing modes in this popup are the standard BeOS drawing modes.
The Selection Mode does not have any options.

You can quickly switch between Drawing and Selection mode when a canvas window is active with the Tab key.

The Tool Selector

The second button is used to select the current tool. For each of the selected tools, the associated Attribute Window appears upon a right click (or Control-click) on the button.
In order of appearance, the tools are a Brush tool, an Eraser tool, a Fill tool, a Text tool, a Spray Can tool, a Clone tool, a Freehand tool, a Line tool, a Free Shape tool, a Polygon tool, a Rectangle tool, an Oval tool, a Circle tool, and an Ellipse tool.

The Brush Tool
A Brush in Becasso is basically an 8 bit alpha map. The Brush Attribute Window allows adjustment of the brush dimensions and angle, as well as the strength with which it will draw. The Spacing slider adjusts the spacing in pixels between adjacent applications of the brush during a brush stroke. The Hardness parameter adjusts between a "fuzzy" and a "sharp" brush. In selection mode, you can use the brush to make "fuzzy" selections. When the drawing mode is set to Copy or Over, the brush is alpha blended to the background image, in all the other modes the corresponding BeOS drawing mode is used to draw the brush as a greyscale bitmap in the selected foreground color.

The Eraser Tool
With the eraser, you can reset parts of the canvas to the background. When erasing the background layer itself (see the section on layers, below), the result will be that the canvas will be completely transparent at that place. When there is no opacity, Becasso shows a light grey / dark grey checkerboard pattern. This is not an actual part of the canvas.
In the Eraser Attribute Window, the shape of the eraser can be selected and its dimensions adjusted.

The Fill Tool
With this tool, you can change the color of an area of (approximately) the same color to the selected pattern (see the Pattern Selector section, below). Clicking on a pixel will paint all adjacent pixels of the same color (within an adjustable tolerance). The Fill Attribute Window allows adjustment of this tolerance, either by directly specifying the maximum deviance of each of the Red, Green, and Blue channels, or by specifying the maximum visual distance of the pixels. This visual distance takes into account the fact that the human eye is not equally sensitive to every color, and weighs the separate color channels accordingly.
In selection mode, the fill tool doubles as a "magic wand", selecting all pixels of an area with (approximately) the same color. The tolerance is reflected in the selection map, so that color nuances are preserved.

The Text Tool
When the text tool is active, you can place the text on the canvas clicking. In the text tool's attribute window, you can click in the text box and enter any text (including multiline texts). The Text Attribute Window allows selection of the font family and style, as well as adjustment of the point size, shear, and rotation. In selection mode, you can use this tool to make a selection in the shape of the text.
Note that this tool operates quite differently in version 2.0 than in earlier versions, where you would click on the canvas to get a text box to appear on the canvas, which was harder to position your text just right.

The Spray Can Tool
The Spray can deposits a steady flow of random pixels onto the canvas via a Gaussian spread function. The Spray Can Attribute Window allows adjustment of the spread in pixel units, flow rate, and color ratio. A color ratio of 0.0 only deposits pixels in the foreground color, a ratio of 1.0 only background colored pixels. Any value in between "mixes" the colors. The "Fade with Distance" checkbox lets the pixels be lighter (less opaque) when farther away from the cursor. Operating the spray can tool with the right mouse button (or via the Control key) inverts this ratio.

The Clone Tool
The Clone tool is like the brush tool (and offers the same settings) but instead of depositing "ink", it will copy the pixels from elsewhere on the canvas. The "source" position (where the pixels will be copied from) remains at a fixed distance from the cursor position. This distance can be set by right-clicking the mouse and dragging (a red line will show the displacement vector). While drawing (using the left mouse button), the source position is shown by a small cross cursor. This tool can be used to retouch "spots" and "scratches" on a canvas, by copying pixels from an area close to the damaged area.

The Freehand Tool
This tool allows freehand drawing. The Freehand Attribute Window has only the single parameter of the pen size. The pen uses the current pattern, or its inverse when operated with the right mouse button (or via the Control key).

The Lines Tool
There are two major paradigms on the user interface for specifying lines on a canvas. The first ("click-drag-release") lets the user fix the starting point of the line by clicking, and while the user holds down the mouse button and drags the cursor, a "rubber" line will stick to the mouse cursor, following the movements of the user. Releasing the mouse button will fix the end point.
The second ("click-move-click") is less common because it is thought to break the general mouse usage paradigm as used throughout the OS, but it allows multiple-vertex lines by having the user fix the vertices by clicking, while a "rubber" line follows the cursor even when the mouse button is up.

Becasso offers both paradigms and uses a simple algorithm to detect which one the user is currently applying. When the user moves the mouse while the button is still down, Becasso will use the click-drag-release paradigm, ending the line when the user releases the mouse. When the user releases the mouse on the same spot as where the line was initiated, Becasso will switch to the click-move-click paradigm. Whenever the user presses the left mouse button, a line segment from the previous vertex to the current cursor position will be painted in the current pattern, or in the inverted pattern when a vertex is fixed with the right mouse button (or via the Control key). The user can end adding points by activating any other window (not necessarily a Becasso window).
The Line Attribute Window has a checkbox for determining whether vertices should be filled to give a smooth line. This is only of significance with larger pen sizes.

The Shape Tools
The following six tools are shape tools. Their Attribute Windows all have two general options in common, namely the pen size and the general shape type. This is one of: Shape filled with the current pattern, with an outline in the current pen size and current foreground color (or all these inverted when operated with the right mouse button), shape filled with the current pattern, no outline, or an outline only, painted with the current pen size and in the current pattern.

The Free Shape Tool
This tool allows the user to draw any shape on the canvas. This tool only uses the click-drag-release paradigm. When the mouse button is released, the shape is closed.
In selection mode, this tool mimics a "lasso selection tool".

The Polygon Tool
This tool uses the click-move-click paradigm to fix vertices of the polygon. The last point of the polygon is designated by using the tertiary mouse button or the right mouse button (or the Control key). More precisely, it is designated by clicking with the other mouse button then was used to fix the first vertex. You can cancel the operation by pressing the Esc key.

The Rectangle Tool
The Rectangle tool (as well as the remaining three tools) can use both the click-drag-release and the click-move-click paradigms to fix the diagonally opposite corners of a rectangle. In selection mode, this tool is equivalent to the normal selection tool of conventional graphic software without Becassos orthogonality.

The Oval Tool
In this context, an oval is a rectangle with rounded corners. The radii of the corners can be set in the Oval Attribute Window, offering the option of either fixed radii (the "Absolute Corners" radio button; the number of pixels in x- and y-directions can be adjusted with the corresponding sliders in the "Absolute" tab view) or variable radii (the "Relative Corners" radio button; the ratio of the radii to the total dimensions of the oval can be adjusted with the corresponding sliders in the "Relative" tab view).

The Circle Tool
Circles can be painted on the canvas by either fixing the center of the circle and moving the mouse outward to adjust the radius (again, by either of the two paradigms) or by fixing a point on the perimeter and having the center of the circle coincide with the mouse cursor. Which of these methods is to be used can be selected from the Circles Attribute Window.

The Ellipse Tool
Either of the paradigms can be used to define the diagonally opposite corners of a rectangle circumscribing the ellipse, i.e. defining a square yields a circle.


The Color Selectors

The third and fourth button on the Becasso main window are used to select the current foreground and background colors, respectively. When a color selector is pressed with the left mouse button, a palette pops up, containing 256 color entries. Although the palette defaults to the BeOS system palette, it is not limited to this and can in fact contain any choice of colors. The foreground and background color selectors maintain separate palettes.
Clicking on a color selector with the right mouse button (or with the Control modifier key held down) will pop up an extensive Color Editor window.
Note that in the current version, the palette popups are not dithered on 8 bit screens. With the default palette this is not noticeable since the colors exactly match the 256 available colors in 8 bit screens, but when a palette contains altered colors, this might not be apparent from the popup. The color selectors themselves are dithered on 8 bit screens.

The Pattern Selector

The rightmost selector on the main window is for selection of the current pattern. For most tools, operating them with the left mouse button will paint in the current pattern, and operating them with the right mouse button (or with the Control key) in the inverse of that pattern (i.e. with the foreground and background colors switched). The top right pattern is a solid low color, which is especially convenient in combination with outlined, filled shape tools to draw shapes with a solid background color and an outline in the foreground color.

The Color Editor

The Attribute Window of the color selectors contains an extensive color editor, featuring both RGB and HSV models. On 8 bit screens, the color areas are dithered to most accurately represent the color shades.

The File Menu
Palettes can be saved and loaded. The Becasso palette file format is human readable. You can also load palettes by dropping them on the appropriate color selector button. or on the corresponding color editor window.
Furthermore, Becasso can generate several built-in palettes.

RGB Model
In this model, the user can select which of the three color components Red, Green, or Blue should be placed in the color column on the left of the tab view, by selecting the corresponding radio button. The other two colors will span the 2D area to the right. Clicking (or dragging) the mouse inside either of these two color areas will ajdust the corresponding color values. You can also set the color components directly by entering a value between 0 (no color) and 255 (full intensity) into the corresponding text control.

HSV Model
The Hue, Saturation, Value model for color selection uses a color wheel on the right, in which the hue (0 - 360, as angle from the horizontal) and the saturation (0 - 1, the distance from the center of the wheel) can be selected, as well as an intensity selector on the left, with which the Vaule (0 - 1) can be set. You can also set the components directly by entering the correct value in the corresponding text control.

Alpha Channel
The alpha channel determines the opacity of a color. With the slider, the alpha value can be adjusted from 0 (fully transparent) to 255 (fully opaque). The setting of this slider determines the alpha value of all subsequent color selections; you need not set the alpha value for each of the colors in the palette.

Color Selection
At the bottom part of the color editor, two color patches are visible. The first shows the current color selection, the second the closest match in the current palette, along with the visual distance between them. Pressing the "Current" button on the right (or pressing Enter) will replace the currently selected color in the color selector with the currently selected color in the color editor. You can achieve the same effect by clicking the right mouse button twice on the same color. The "Best Match" button tries to locate the closest match in the current palette within a certain tolerance, and replaces that if it is found, or the currently selected color if not. This also happens when double-clicking with the left mouse button. The tolorance is expressed in actual visual distance (see the explanation under the Fill Tool, above), and can be adjusted with the "Color Picker" slider in the color editor. This tolerance is also used when picking colors from the canvas (see Color Picking, below).

Color Drops
Becasso is fully compatible with röDesigns röColour drops. You can use röColour to generate the correct color and drop this on either of the Color Selector buttons in the Becasso Main Window, or anywhere on the Color Editor Window.
Apart from receiving these color drops, Becasso also generates them. You can initiate a color drop by clicking on either of the color patches in the lower left corner of the Color Editor window, and dragging to the desired location (for example, a StyledEdit or Pe window (in which case the color information will be inserted in hexadecimal format, as understood by HTML), the Desktop background, or a Becasso canvas).

The Canvas Window

Opening an existing image on disk or a new canvas will open a Canvas Window. The title will show the file name (or "Untitled n" in the case of a new canvas) and the current scale factor in percentage. The contents of the canvas are dithered on 8 bit screens to most closely match the actual colors. Note that this happens in real time as you draw, and dragging the canvas window from one workspace to another with a different bit depth will cause the dithering to automatically be adjusted.
Left of the bottom scroll bar, the current mouse coordinates are shown.

Selections

Selections are shown by inverting the selected pixels whenever the mouse is in the canvas view. Selections can be of any shape, and you can use any tool in selection mode to add areas to the selection. Furthermore, a selection is actually an alpha map, allowing for "fuzzy" selections as made with the brush tool. You can copy and paste selections between different windows of Becasso. You can also initiate a drag-and-drop sequence by holding the Shift key while clicking on the canvas in selection mode. Clicking the left mouse button will copy the selection into the buffer, while the right mouse button (or a Shift-Control-click) will also cut it from the canvas. You can drag the selection around, during which it will be alpha blended in real time, and drop it by releasing the mouse button.

Becasso uses the extended Drag'n'Drop protocol Be introduced in R4; you can drag image clips from ShowImage to Becasso. Currently not the other way around, but that is a ShowImage bug. You can also save clips by dragging them onto the Desktop.

Note that you can quicky change between drawing and selection mode by use of the TAB key shortcut.

Picking Colors

During the operation of any tool, holding the Option key while clicking somewhere on the canvas activates a Color Picker tool. The cursor will change to an "eye dropper" icon to reflect this. Clicking the left mouse button picks the foreground color, clicking the right mouse button (or Control-Option-clicking) will select the background color. The color picker tool will look for the closest match in the current palette of the selected color (foreground or background) and replace that with the color under the mouse cursor if it is within the tolerance (which can be adjusted in the corresponding color editor window), or replace the currently selected color if it is not.

The File Menu

The File Menu offers a superset of the File menu in the Becasso main window. Opening a file from this menu will open a new canvas window with the contents of that file.
Save and Save As... will save the current canvas image in Becassos own format, storing information about layers and settings as well. Becasso also permits exporting the image to other formats via the Translation Kit. Selecting Export... from the menu will open a window with all the formats for which you have Translators installed on your system, from which you can pick which format to use. Some formats offer various settings; these can be adjusted in the bottom part of the window. When you click the "Use" button, a File Panel will pop up, allowing you to select a file name as usual; Becasso will suggest a proper file name extension for you if you have these filled in in your BeOS MIME database, and offer to fill it in if you haven't.

Becasso comes bundled with eight Translators: A GIF, JPEG, PNG, EPS, BMP, TIFF, Photoshop, and a Becasso native Transator so you can open Becasso images in other applications using the Translation Kit directly.
NOTE: Exporting your canvas to any of these file formats will potentially lose important information about your canvas, most notably the layering information. This includes exporting as a Photoshop file, and even in Becassos own format. This is because images are always "flattened" before saving. This may change in a future version, as soon as we implement layer-preserving Photoshop translation. Also note that some file formats support only a limited number of colors, in which case you will achieve vastly better results when you "quantize" your image first. See Quantizing for more information.

Close first checks whether the contents of the window were saved. If not, you warned and given the choice to cancel the closing, save the file, or discard any changes and abandon the file. After this, the window is closed. The same can be effected by clicking on the closer gadget in the window title.
Quit performs the same actions as Close on all windows of Becasso. The same can be effected by selecting Quit from the main window, or pressing its closer gadget.

The Edit Menu

Becasso offers multiple undo/redo, which are accessible from the Edit menu. The maximum number of undo buffers can be selected from the Drawing Mode Attribute Window.
The Edit menu also offers the usual range of cut, copy and paste operations. When a selection is drawn, the relevant menu options are active. You can copy a selection directly to a new layer or even a new canvas (which is automatically generated with the correct dimensions). This is a new feature in version 1.5.
Select All makes a selection of the entire canvas, Deselect All clears the selection map. Invert Selection switches the selection map to its inverse. The Select by Color submenu allows for quickly making a selection map according to a given color. The Automatic option tries to guess what the background color of the present image is, and selects according to it. This can be a valuable shortcut to select an image on a more-or-less flat-colored background.
Colorize Selection colors the canvas according to the selection map.
With Extract Palette, you can make Becasso scan the current layer and perform a color quantization algorithm to find the palette that best matches the image. This is especially useful when reducing the color count later on (for example, before exporting to GIF which can contain 256 colors at most).
The Channel to Selection menu items will copy the given color channel into the selection map, and Selection to Channel will replace the given color channel with the current selection.

More about selections and the various ways of generating and using them, below.
The Entire Canvas submenu offers a number of operations that can be performed on the canvas as a whole. Crop to Window is active (selectable) when the window is smaller than the canvas, and cuts off any parts not visible. Crop to Selection is active whenever there is a selection, and crops the canvas to the minimal rectangle circumscribing the selection. Autocrop crops the canvas to the smallest rectangle containing the picture.
When the window is larger than the canvas, you can pad the canvas to the window size. This "adds canvas" to the original canvas, thus enlarging it, without altering the original contents.
Resize to Window accomplishes the same by streching or shrinking of the original canvas, offering the choice to keep the same ratio between width and height as in the original (thus, probably, not filling the entire window), or filling the entire window with the canvas, thus altering the aspect ratio when needed.
Resize To... opens a new window in which you can enter new dimensions to resize the image to.
Rotate offers the possibility to rotate the entire canvas in 90 degrees steps.
Note: In the current version of Becasso, you cannot undo operations that change the size of the canvas.

The Filter, Transform, and Generate submenus offer access to add-on modules.

The last option, Center Mouse, puts the mouse either to the center of the canvas or to the starting point of the lastly drawn shape, if applicable (which, for instance, is useful for drawing concentric circles).

Add-Ons

Becasso does not have any filters built in, but instead uses the advanced add-on capabilities of the BeOS to load separate modules at startup. These are looked for in the add-ons/ directory.
Becasso discriminates three kinds of add-ons: Filters, Transformers, and Generators. Becasso tries to extend the orthogonality principle to the add-ons as well, in that add-ons take the current mode (either drawing mode or selection mode) into account wherever this makes sense. In drawing mode, a given add-on operates on the selected part of the canvas (or on the entire canvas if there is no selection). In selection mode, the add-on operates on the selection map itself. This might seem strange at first (and cumbersome to have to switch back to drawing mode after making a selection to apply the add-on to the selected part of the canvas) but it allows for some extraordinary effects. For instance, generating a selection map with a gradient in it and subsequently copy/pasting it makes blending of a selection with the background very easy.

Most add-ons have their own window, even if they don't have any settings. These windows show a progress bar, a "Stop" button, an "Info" button, and an "Apply" button. The progress bar in the add-on window is updated as the calculation proceeds. Lengthy calculations can be interrupted by clicking the "Stop" button. The canvas will then be left unmodified.

Some add-ons can be operated interactively by "direct manipulation" of the canvas (like the Gradient Generator), others "block" while they are active (like the Tile Generator). A blocking add-on provides feedback in the form of a modified cursor.

Note to add-on developers: see the separate API documentation.

Quantizing

We will briefly expand on the Quantization add-on. The Translators included with Becasso do not do color quantization themselves, so if you are exporting a colorful image to a format with a limited number of colors, you are likely to get unsatisfactory results.

Becasso, however, offers a very good color quantization system to help overcome this limitation of these file formats. The Quantize add-on will replace colors in the image with their best match in the palette (or any subset of the palette, if the file format supports even less than 256 colors). You could, for example, load the "web safe" palette included with Becasso (the web safe palette is a palette of 216 colors guaranteed to be displayed correctly by web browsers). To do this, simply load it in the color editor, open the Quantize add-on, set the number of colors to 216, and click Apply. Note that you can achieve vastly better looking results with the Dithering option switched on.
If you have control over the palette, you can have Becasso examine the canvas and extract a set of colors best matching the image, using the Extract Palette option in the Edit menu. With this feature, together with the Quantize add-on, you can achieve high-fidelity renditions of your images even with a limited number of colors. A number of example images will show the dramatic differences. The areas of special interest are marked with rectangles.


The original image (photo: Raphael Moll)

Exported in 256 colors - no preparation Quantized using dithering, 256 colors,
standard palette
Quantized without dithering, 256 colors,
extracted palette
Quantized with dithering, 256 colors,
extracted palette

For extra dramatic effects, the same with the number of colors limited to 128:

Quantized to 128 colors, dithering Quantized to 128 colors, dithering,
extracted palette.
Filters
This class of add-ons comprises the effects most often found in other image editing applications, like (Gaussian) blur filters, de-speckling filters, color/contrast enhancing filters, etc. Most of these filters have a set of parameters controlling their operation on the canvas, which are sometimes difficult to optimize for your particular desired effect. Becasso wouldn't be worthy of the BeOS if it would not offer real time preview of the effects of a given set of parameter settings. Selecting a filter from the menu opens its parameter window and simultaneously displays a small (64x64 pixel) rectangle on the canvas, which is continuously updated with a preview of what the filter does. This preview area can be dragged across the canvas by holding down the ALT (or Command) modifier to inspect the effect of the current settings on any part of the canvas. It also reflects any changes you make to the parameters of the filter immediately. When the effect is as desired, you can apply the filter to the entire canvas (or its selected part if available) by clicking the "Apply" button in the add-on window.

Transformers
A transformer add-on modifies the canvas in a different kind: it does not necessarily operate on pixels locally, and can "distort" the overall topology of the image. Examples of transformers are add-ons that scale a selected part of the canvas, rotate it, project it on a sphere, skew it, flip it, etc. Some of these (simple) transformations (like flipping) are not interactive (nor would that make any sense) but others can be operated in real time by dragging the mouse over the canvas.

Since many transformations involve complex calculations, these may offer a lower-quality "preview" mode while dragging (to keep the process responsive). When the transformation is as desired, releasing the mouse (and clicking "Apply") will render the transformation on the canvas in high quality.

Generators
This class of add-ons generates an image. It may use the current contents of the canvas and generate a new image as a function of it (e.g. to generate a selection of all pixels with an intensity above a given threshold, or all pixels of a given color) but it does not need to. The image at the side, for instance, shows the Gradient Generator in action. First, a selection in the form of a text was generated (simply by typing the text in selection mode), after which Becasso was switched back to drawing mode. Then, the Gradient Generator add-on was opened by selecting it from the Edit menu. The Gradient Generator generates a color gradient from the currently selected high color to the low color, offering a variety of types of gradient (linear/circular, with different shapes of the gradient "ramp") and is operated by dragging the mouse. The white line visible in the canvas shows the current direction of the gradient, which is updated in real time as you drag. Note that only the selected part of the canvas (i.e. the text) is affected. When the gradient is as desired, releasing the mouse will render it (without the guide line of course) on the canvas.
Note that the add-on "remembers" the position of this guide line, so that you can generate a gradient with the same characteristics, even on a new canvas and with different colors, by clicking the "Apply" button on the Gradient Generator add-on window.

The Window Menu

From the bottom up, the Window menu offers an item to resize the window to fit the canvas (or fill the entire screen, whichever is smallest), and a submenu to set the current magnification of the canvas. There are shortcuts for zooming in and out. Every tool will work in any magnification.
The Magnify item opens a new window (new feature in Becasso 1.5) in which you can "blow up" an area of your canvas for pixel-perfect editing. You can select a magnification factor of 2, 4, 8, or 16, and select between a black or white grid, or no grid at all. Note that the color dropper also works in the magnify window, making this mode very suited for pixel-precise retouching.
The Layers menu item opens the Layer Manager for the current canvas.

The Layer Menu

The layer menu offers shortcuts to some of the functionality of the Layer Manager, so you don't have to keep that open while working, and you can switch between layers with a simple keypress. You can also move (translate), rotate, and flip the current layer.

Layers

Becasso uses the concept of layers in a canvas. A layer can best be thought of as a transparent sheet onto which you draw. The opacity/transparency of the current colors can be adjusted with the alpha channel slider in the color editor window. When there are only transparent pixels in a certain region of the canvas (for example when you use the eraser on the background layer), Becasso will show these as a light grey/dark grey checkerboard pattern. This pattern is not part of the actual image, and will not be included in the image when exporting. The first layer in a new canvas is somewhat special as it is pre-filled with a white background color. New layers will be fully transparent upon creation. The Layer Manager shows the current layer layout of the canvas. The layers are depicted with a thumbnail image (which is updated in real time as you draw) and can be given a name by double-clicking on it. The currently active layer (which is modified when you draw) is shown in a darker grey. You can add new layers on top, insert new layers above the current layer, duplicate layers (i.e. insert a copy of the current layer) or remove layers. You can select which layers to view by use of the "Hide" checkboxes in each layer. Layers can be re-arranged by dragging them to their new position. Note that imported images from different formats often have their alpha channel set to completely opaque, which means that any layer under such an image will be hidden by it. You can modify the "global" alpha level of an entire layer with the slider. With the "Operation" popup menu you can select the way layers should be merged on top of each other. Becasso 1.5 offers Blend and Multiply. Blend mode simply superimposes the present layer onto all layers beneath it, whereas in Multiply mode, each color channel of each pixel is multiplied with the result so far. This mode can be used to "filter" certain colors. For example, putting an all-red layer in multiply mode on top of an image filters out only the red components.

When exporting a picture, the current settings of the Layer Window are taken into account, i.e. layers which have been hidden by selecting their "Hide" buttons will also not be visible in the exported picture.

Modifier Overview

Since Becasso uses so many different key modifier combinations, below is a short summary.

Control Consistently emulates the right mouse button
Command Add-on operating; moving the filter preview area.
Shift Copy (left mouse button)/Cut (right mouse button)/Paste
Option Color Picker (left = foreground color, right = background color)
Also, note that throughout this documentation the designations "left mouse button" and "right mous button" should actually be read as "primary mouse button" and "secondary mouse button", Becasso does not override the user preference of which function has been assigned to mouse button.

Scripting

The current version of Becasso offers quite substantial scripting support, beyond the normal scriptability every BeOS application has. Every parameter of every tool can be adjusted externally via scripting calls. As another example, Becasso can be controlled via a script to load all image files in a given directory and export them as JPEG files. For complete documentation on all the scripting commands and properties, see the separate Scripting Documentation.

Bundled Translators

Becasso comes bundled with eight Translators. Each of these can be started as any regular BeOS application and will then show a settings window. The settings are stored in human-readable form. The Translators can also be started from the command line in a Terminal, and depending on the command line switches, the current settings, version number, etc. can be printed to the Terminal. Use the --help switch for brief usage information.

The PNG Translator uses libpng-1.2.4 by the PNG Development Group, which is included as a shared library.

The JPEG Translator is based in part on the work of the Independent JPEG Group and uses jpeg-6b (included as libjpeg.so.62.0.0).

Note: The BeOS itself comes with PNG and JPEG translators, but these offer less adjustable parameters. When you move the bundled PNG and JPEG translators out of the ~/config/add-ons/Translators directory (for example into a directory ~/config/add-ons/Translators/Hide), the system will default back to the BeOS-supplied translators.

The TIFF Translator uses libtiff-3.5.6. BeOS comes with a TIFF Translator, but that one is read-only. Note that TIFF is quite a comprehensive file format, and offers various types of compression. Not all TIFF readers on other platforms can handle all these compression types, so some experimentation is required to find the best settings for your particular use.
The following table lists some compatibility data for (older) Windows programs. Thanks to Joachim Seemer for providing these data. If you can provide more up-to-date information on compatibility from the TIFF Translator, we would love to hear from you.
CompressionNonePackBitsJPEGDeflate
Metacreation Painter+
Photoshop 4.0++
Freehand 7.0+
Windows 98 system (Imaging)

The GIF Translator is also based in part on the work of the Independent JPEG Group, but does not use the libjpeg.so shared library. The Graphics Interchange Format© is the Copyright property of CompuServe Incorporated. GIFsm is a Service Mark property of CompuServe Incorporated. Note that to avoid entanglements with Unisys' patent on LZW compression, the Translator only outputs "uncompressed GIF" files, and its use is not recommended. It does fully support the GIF89a Transparency extension and the resulting GIF files are compatible with any GIF reader, but they can be large in size. For more information on GIF compression see GIF.html.

The Becasso Translator is provided so Becasso native files can be directly used in any other BeOS application using the Translation Kit. Note that it is not recommended to export images in this format from Becasso itself (rather then using the normal Save option) because the file will be flattened first and lose any layer information (just like exporting to any other format). The Becasso Translator links against the zlib compression library by Jean-loup Gailly and Mark Adler, just as the Becasso executable itself does. Zlib is provided as a shared library libz.so.1.1.4.

The EPS Translator offers output of EPS bitmaps. It is special in that it detects whether Ghostscript is installed on your system (and you have libgs.so in your ~/config/lib directory). In this case, the translator enables you to read PS graphics into Becasso (and any other application using the Translation Kit) as well (!). A BeOS port of Ghostscript is available here.

Any modifications made to the library sources themselves for porting to the BeOS (i.e. except some of the configuration scripts to get them to build) were folded back into the respective original source trees and can hence be reproduced by getting the most recent versions of the sources.

The Photoshop (PSD) Translator reads and writes Photoshop files, but currently does not preserve layers yet. It will read (and write) the flattened image present in every PSD file, and only if that is in RGB format (which the majority is). Major work is planned on the PSD translator so a future version of Becasso is planned to support reading and writing PSD files while keeping layering information.

Credits

During the development of Becasso, the following people (in no particular order) were of invaluable help: German translation by Florian Effenberger, Charlie Clark, Marcus Jacob, and Michael Pfeiffer; French translation by Raphael Moll and Stephane Landier; Danish translation by Morten Leerhøy and Per Liboriussen; Italian translation by Guido Soranzio; Serbian translation by Nikola Pizurica; Croatian translation by Emil Stimac

Sum Software, February 2003

The author can be reached at becasso@sumware.demon.nl.


This documentation is © 1997-2003, Sum Software.
Last modification: 16 February 2003.
Be and BeOS are registered trademarks of Be, Incorporated. GIF is a Service Mark property of CompuServe Incorporated. All other trademarks used herein belong to their respective owners.