EazyDraw Raw App For Help Abstract Fill EazyDraw Raw App For Help

EazyDraw Abstract Fill
Related Information
Combine Submenu
Color and Style
Gradient Tool
Pattern Tool
Customize
|

This menu command will create a new "concrete" graphic exactly matching an interior area defined only conceptually by other paths and shapes. A solid Fill color is applied to the new graphic. This fill can easily be changed to a pattern or gradient. The function of this command is to automatically generate the well defined graphic shape from the abstract shape informally defined by several shapes, paths, or curves.

The "Paint Bucket" tool is a common tool found in pixel painting applications. It is used to flood an area defined by a solid pixel border with color. The tool is needed to facilitate coloring areas of a pixel-painted drawing. Vector drawing has this filling capability precisely defined for each vector shape, solid color, patterns or gradients are used to fill the interior defined by a graphic.

An example of a "conceptually" defined shape is a triangle created from 3 intersecting lines. In terms of the vector graphics computer drawing medium, these are not a triangle - they are 3 un-related lines. For vector drawing the triangle (or a similar) tool is used to draw a single shape with three sides that form the triangle. These vector drawing concepts are not here "changed" - the Abstract Fill command will simply attempt to assemble and draw the triangle from the conceptual arrangement of the three lines.

The Abstract Fill menu command is found on the Combine Submenu - on the Tools main menu, about 2/3rds of the way down. There is a Toolbar tool for the this command, the icon is the "Paint Bucket" icon shown to the left. To add this tool to the drawing window toolbar use the Customize command found on the View main menu.

Execute the Abstract Fill menu command (or click the toolbar button) to enter the Abstract Fill mode. Move the cursor over the drawing and note the "paint bucket" cursor indicating that the next mouse click will define the internal conceptual area to be filled. Click the mouse and the new shape is created.

The new shape will have "no-outline" and a solid fill color. The Color is the current default color as defined and shown on the Color and Style palette. After the shape is created the color can be changed using the Color and Style palette or a Toolbar Fill color button.

The full area to fill needs to be visible on the screen. Adjust the viewing area and zoom to present the desired area on screen. The new fill area will not "spread" or flood off the viewing area of the screen.

There, naturally, can not be "hole" or leak in the defined area. If the flooding of the color from the click point can reach the edge of the viewing area (not the edge of the drawing) without crossing a path, then the algorithm fails and no graphic is created.

This tool may be used with multi-layer drawings. The new graphic element is added to the current active layer. All selectable graphics are considered for possible defining border paths - note this is not all visible graphics. There may be boundaries clearly visible but if these are not selectable they will not be used for the definition of the new fill shape. Study Enabled Actions to learn more about the distinction between visible and selectable graphic elements.

EazyDraw abstract fill example

The new filled shape is inserted behind all other graphics. This is the appropriate logic as the finite line widths of the defining border will normally show above the fill area, obscuring one half of the associated line-width's dimension. This means that if one clicks on an area that already has solid fill - nothing will be seen on the drawing as the new shape will be obscured by the exiting fill. Caution should be used to avoid introduction of spurious hidden graphic elements.

The generation of the new filled shape is based on heuristic algorithms; the solution is derived by trial and error and rules that are loosely defined. These algorithms will work best when the area of interest is expanded to reasonably fill the viewing area of the screen. The user is expected to cooperate in the success of the algorithms.

Flood Fill algorithms are trivial when dealing with defined pixels. The solutions are much more complex if a precise vector shape is the goal. EazyDraw does not use a pixel-hybrid implementation. The actual Bezier paths are analyzed, meeting end points and intersections are defined mathematically, then by recursion a continuous exact Bezier path is stitched together to form a closed outline of the new shape. The result matches the defining original shapes to the precision limits (32 bits at this writing) of the computing system.

If the algorithm fails (nothing happens), adjust the zoom and or position of the target conceptual shape on the drawing view (the computer screen). The algorithms are designed to fail quickly and gracefully rather hang the system. On macOS 10.5 and newer the analysis of the scene is performed on a separate thread (utilizing other available CPUs) while the user is choosing the click point. On older PowerPC's and macOS 10.4 the computations do not begin until the final "click" and may take noticeable time, but on newer multi-core Intel machines all should be instantaneous.

This command does not work with images (bitmaps, photos, ...) except to respect their edges as containing boundaries. The Clear Color command performs a somewhat similar action on bitmap images, a flood fill for an image's solid background color is cleared with the Clear Color command.

Text boxes and image borders are used as defining borders. In the case of a text box this boundary may form an invisible (if there is no outline drawn for the text box) conceptual border for the fill. The actual lines of text are not used as the blocking boundary for the flood-fill, the defined text rectangle is used.