PaletteWB User Documentation

1. Introduction

PaletteWB is a software program for generating, importing, browsing, manipulating, applying, converting, and exporting color palettes and for interacting with indexed images. PaletteWB is a color palette workbench and supports indexed images beyond 8 bits and 256 colors. It runs under Microsoft Windows.

This document is the user manual for PaletteWB, version 2.0. It contains information that explains what PaletteWB was designed for and how to use it.

In particular, PaletteWB allows for:

  • Importing palettes from different formats, including GIMP palettes (*.gpl), Adobe Photoshop palettes (*.aco), Fractint palettes (*.map), Microsoft palettes (*.pal), hexadecimal color list (*.hextxt);

  • Exporting palettes to the before named formats, and additionally to images, and user-defined text formats, including presets for json, JavaScript, CSS, or HTML;

  • Browsing through a database of almost 700 palettes with instant image coloring;

  • Generating palettes using a cosinus-based approach or by interpolating between colors;

  • Adjusting palette colors using filters such as adjusting brightness and contrast, adjusting hue / saturation / value, blurring, or tinting;

  • Reordering palette entries by shifting, sorting, inverting the order, or applying diverse patterns;

  • Applying palettes to images in batch, batch palette conversion, and animation export;

  • Generating images - Julia or Mandelbrot fractals, and different Noise functions.

Above all, PaletteWB supports not only 8 bit indexed images, but as well ones with indices of up to 65536 entries or continuous, floating point color assignment.

PaletteWB was tried to be designed to please its users. We hope for a feedback on this. Please give us a notice about your experience with PaletteWB using the contact possibilities located at http://www.palettewb.com/. We would also be very lucky to be informed about errors within the application or mistakes in the documentation.

This user documentation is structured as following: Chapter 2 gives an introduction into color palettes and what PaletteWB is. Chapter 3 describes how PaletteWB's graphical user interface is divided into different components. Chapter 4 describes all actions PaletteWB is capable to perform. Chapter 5 explains PaletteWB's presets database that holds presets and may store user settings for many of PaletteWB's dialogs. Chapter 6 points to further resources and to the possibilities to contact us. The document closes with appendices, namely Appendix A: Supported Palette Types, Appendix B: Formatted String Variables, Appendix C: Key Shortcuts, Appendix D: Included Palettes, Appendix E: Presets File Format, and Appendix F: Selection File Format.

2. Color Palettes and PaletteWB

Initially, computer images ("bitmaps") had a limited number of colors. Each pixel was not holding a value for red, green, and blue (RGB) respectively as nowadays, but was rather pointing to a color in a color table. Such image formats, where each pixel points to an entry in a color palette are called "indexed images". The color table itself is called "palette", "color map" or "color palette". Sometimes, they are also called "gradients" as the colors are assigned to a continuous-looking color gradient.

Indexed images have been replaced by RGB images in most cases. But there are different applications where indexed color images are a better choice. When computing graphics, it often makes sense to render them as grayscale images and apply gradients afterwards for colorizing them. As some computations may require a lot of computing time, trying out different gradients on an image computed as grayscale image is often a faster, resources saving choice.

Similar counts for abstract images that may have no own color, such as images taken in non-visible spectra, or which are monochrome and which pixels only differ in brightness. Colorizing them makes them more appealing and may be used to point out certain details. Of course, you may apply palettes to your own images as well, drawings for example, or computer graphic effects for playing with colors.

PaletteWB was designed to be an all-purpose tool box for color palettes and indexed images. As such, it contains methods for generating palettes, converting them between different formats, saving and exporting them, applying filters and resorting them, and for reading, generating, writing, converting, and manipulating indexed color images.

Usually, indexed color images use one byte per pixel for pointing to the image's color map. This allows for a maximum of 256 colors per image. PaletteWB goes beyond this. It not only supports indexed 8bit-images, but as well images with an index size of up to 65536 entries and floating point indices. The different index formats are discussed in the next subsection. Afterwards, a small overview about how to use PaletteWB is given.

2.1. Supported Index Formats

PaletteWB supports the following indices:

  • 8bit indexed images: These are mainly the plain, old-style one byte indices, yielding in a palette size of max. 256 colors and an 8bit - one byte - index.

  • 32bit indexed images: Each pixel in a 32bit indexed image is a pointer to a color palette. As each pixel is 32bit large, the color table can be up to 232 entries in size what yields in 4,294,967,296 colors (4 billions). For honesty, we limit this to max. 65536 entries. If you really need more entries, please let us know...

  • Continuous indexed images: In continuous indexed images, a pixel is represented as a floating point value between 0 and 65535. Continuous indexed images are agnostic to the palette size. The given palette is spread across the indices of the image.

All formats have their pros and cons. We will discuss them in the following.

We would advice you to use continuous indices. As long as no direct addressing of a pixel or index is necessary, this format index seems to be the most flexible one.

8bit indexed images are the usual form of indexed images. They can be exported to .gif-files, including animations, and can be processed by most image processing applications in their native form. The biggest drawback is of course the limit of colors per image to 256 entries.

32bit indexed images go beyond this. Instead of using a byte per pixel as index to a color palette, they use a 4-bytes integer, allowing in theory up to 4,294,967,296 colors per image (yes, more than RGB values in a usual true color image). As said, we set a limit of 65536 colors per image currently.

Common to both, 8 and 32 bit indexed images, is that each pixel directly points to an entry in the color palette. As such, the size of the palette must match the number of colors the image uses. When applying a palette to an image that has more entries than the image has colors, the tail of the palette will be cut and will be not visible in the image. When applying a palette with fewer colors than the image has colors, the remaining colors will be filled with a background color. In this case, details - pixels that would use the upper part of a palette - of the image will get lost. This is the major drawback of plain indexed images.

Continuous float point indices solve this issue. Here, every pixel is represented as a real (floating point) number. In PaletteWB, the indices range between 0 and 65535, including fractions. As the indices are represented as real numbers, even more colors can be addressed. A given palette is stretched to this range, so that always the complete palette is used. In addition, PaletteWB supports the interpolation of colors between the entries. This means that pixels with an index that is not mapped to a palette entry directly will get a color computed via interpolation between neighbor color palette entries. A smaller drawback of continuous indices is their reduced explicitly. While 8bit and 32bit indices directly point to color palette entry, a continuous index may get an offset and get blurred. Usually, this occurs seldom and has usually no meaning when dealing with artistic images. It still can be unwished, e.g. when dealing with scientific images. For such purposes, one should use 8bit or 32bit indexed images.

Yes, nice, but where to get such images from?

The most simple method is to convert an RGB image into an indexed one by computing the grayscales of the image's pixels. PaletteWB of course supports this and can generate 8bit and continuous grayscale images, see "To grayscale" and "To continuous grayscale".

Yet, an RGB image has in principle 766 brightness values, as between the plain gray values, where all components (R, G, B) have the same brightness, one can find two additional brightness values. Within PaletteWB, such a palette is called "extended grayscale" or "pseudo-grayscale", see "To extended grayscale". PaletteWB brings methods for generating extended grayscale images from RGB images. Extended grayscale images with 766 entries is basically the maximum what you can get out of plain RGB images when interpreting their brightness.

PaletteWB contains two additional methods for generating indexed images with more colors. The first one is reading images saved as .npy or .npz files using the numpy module from the Python programming language. Given this, you can compute your own continuous images using Python, save them as numpy arrays and load them into PaletteWB for applying different color palettes.

The second one is to interpret an image's RGB components not as such, but rather as integer (normal) numbers. Such images have to be prepared manually, no software for generating them is currently known. When choosing this option, see "To 32bit indexed as ints", a pixel's index to the color palette is computed as:

ip = bp * 256 + gp

Where:

  • ip is the pixel's index;

  • bp is the value of the pixel's blue component;

  • gp is the value of the pixel's green component;

Please note that this is currently limited to generating images with up to 65535 color entries.

2.2. Using PaletteWB

If you are interested in color palettes only, not in applying them to images, you have different possibilities to interact with them. PaletteWB comes with a database of almost 700 palettes, see "Browse DB...". You may load and save palettes, see "Open palette..." and "Save palette". You may as well export them as images or as almost arbitrary text files, see "Export palette as image..." and "Export palette as text...", so that you can use them in own applications. Different methods for generating palettes are available, see "Generate", as well as for changing the palettes entries' order, see "Apply pattern" and "Reorder", or applying color filters, see "Adjust colors".

If you want to colorize your images, you would probably start with loading your image, see "Open image...". As most images are stored as RGB images, you have to convert it into an indexed format first. The fastest way to do this is using one of the "Fast convert" actions, located in the "Image" menu. If you want to play with conversion options, use "Convert...". It is more flexible, yet slightly slower than the "Fast convert" actions.

We would advice you to convert your image into a continuous extended grayscale image as it's the most variable and robust format, see "Supported Index Formats".

When using PaletteWB frequently, it may be convenient to define a default action to perform when loading an RGB image, see "Default RGB image action".

To explore different color palettes, you may use the "Browse DB..." action. A chosen palette is instantaneously applied to the shown indexed image. Same counts for the named palette changing actions - their respective result is directly applied to the image.

You may wonder what a project is in this case. Basically, you can do everything by interacting with palettes and images only. Yet, you may want to save a work in progress. This is what a PaletteWB project is for. Saving a project, see "Save project", saves all current application settings so that the work can be later continued without loading the current image and palette individually and setting other options, such as the current background color or the palette size.

3. PaletteWB's Graphical User Interface

The main window is divided into different sections or components. The main ones are the image viewer part and the palette viewer part. Below the palette viewer you may find some meta information about the currently used image and palette. Additionally, a menu bar holds all the actions PaletteWB is capable to do, and some of them can be accessed faster using the tool bar below. The following image shows PaletteWB's graphical user interface. The components of the graphical user interface are described in the following subsections and partially in further chapters as well.

Figure 3.1. Main PaletteWB window.

Main PaletteWB window.

3.1. Palette Viewer

The image viewer is highlighted in the following image.

Figure 3.2. Main PaletteWB window with highlighted palette viewer.

Main PaletteWB window with highlighted palette viewer.

The palette viewer shows the current palette. If an RGB (24 bit, "true color") image was loaded, the palette viewer stays empty. In this case, the image has to be converted into an indexed format first (see "Using PaletteWB").

If the palette is bigger than the visible screen, a scrollbar shows up which can be used to scroll along the palette.

Single palette entries can be selected and deselected. Pressing the left mouse button over an entry selects it, a second single left mouse button click or selecting another entry deselects the first one. A double-click with the left mouse button opens a color editor. If a new color has been chosen by pressing OK within this color editor, it will be used as this entry's new color.

Holding the left Control (Ctrl) key when selecting entries using the left mouse button prevents from deselecting prior ones. When pressing the Shift key, the range between the current and the next already selected entry is selected or deselected.

PaletteWB holds as well the functionality to select entries using patterns (see "Selection pattern...") and save and load selections (see "Load selection..." and "Save selection...").

The palette can be changed using different actions, including usual edit function, such as Cut, Copy, Paste, etc. (see "The Edit Menu") as well as by a diverse set of color modifications (see "Adjust colors"), resorting methods (see "Reorder"), or methods for applying diverse patterns (see "Apply Pattern"). In addition, palettes can be selected from a database of almost 700 palettes (see "Browse DB...") or generated using different methods (see "Generate").

3.2. Image Viewer

The image viewer is highlighted in the following image.

Figure 3.3. Main PaletteWB window with highlighted image viewer.

Main PaletteWB window with highlighted image viewer.

After starting the application or if an image was closed (see "Close Image"), the viewer is empty. As soon as an image was loaded (see "Open Image") or the user has generated an image (see "Image Generation"), the image is displayed within the viewer.

The user can zoom into (see "Zoom In (25%)") the image and out (see "Zoom Out (25%)") of image. You may as well zoom using the mouse wheel when the mouse is above the image viewer. The view can be restored to its original size (see "Normal Size").

When applying or changing the palette, the image is automatically updated to the new settings.

3.3. Meta Information

The meta information panel is highlighted in the following image.

Figure 3.4. Main PaletteWB window with highlighted meta information panel.

Main PaletteWB window with highlighted meta information panel.

The meta information panel holds basic information about the current palette and image. For the current palette, the following information is listed:

  • Name: The name of the palette, if given;

  • Comment: A comment about the palette, if given;

  • File: The file name the current palette is saved at, if valid;

  • Size: The number of color entries this palette consists of.

The following information is shown for the current image:

  • File: The file name the current palette is saved at, if valid;

  • Height: The height of the image;

  • Width: The width of the image;

  • Mode: The mode of the image, may be one of 'RGB', 'indexed 8bit', 'indexed 32bit', 'continuous', or 'continuous (interpolated)'.

If no image is loaded or was generated, the fields stay empty. Only the "Mode" information is set to 'N/A'.

3.4. Menu Bar

The menu bar is highlighted in the following image.

Figure 3.5. Main PaletteWB window with highlighted menu bar.

Main PaletteWB window with highlighted menu bar.

The menu bar contains all the actions PaletteWB is capable to perform. It is the major interface between the user and PaletteWB. Thereby, Chapter 4 is completely denoted to list the actions that can be found in the menu bar.

3.5. Tool Bars

The tool bar is highlighted in the following image.

Figure 3.6. Main PaletteWB window with highlighted tool bar.

Main PaletteWB window with highlighted tool bar.

The tool bars contain shortcuts to a selected set of actions that can be found in the menu bar. The following tool bars exist:

The settings menu holds actions for toggling the visibility of each of the tool bars, see "Show tool bars -> X".

3.6. Status Bar

The status bar is highlighted in the following image.

Figure 3.7. Main PaletteWB window with highlighted status bar.

Main PaletteWB window with highlighted status bar.

When hovering above a menu bar or a tool bar entry, the status bar shows a coarse description of the according action. In addition, the status bar shows an according message when a new file was loaded or saved.

4. PaletteWB Actions

All of PaletteWB's functionality is accessed using the actions to be found in the menu bar. The actions are grouped into the following topics:

  • File: Holds actions for loading, saving, and exporting files and for printing, see "The 'File' Menu",

  • Edit: Holds actions for editing the palette and selected entries, see "The 'Edit' Menu";

  • Palette: Holds actions for generating and reordering the palette and for applying color enhancement filter, see "The 'Palette' Menu";

  • Image: Holds actions for generating, converting and transforming images, see "The 'Image' Menu";

  • View: Holds actions for interacting with the image view, see "The 'View' Menu";

  • Settings: Holds settings for opening RGB images, for defining the format of the palette within the clipboard, for setting the maximum palette size, and for toggling the visibility of the tool bars and the status bar, see "The 'Settings' Menu";

  • Help: Holds actions for display PaletteWB's about and help dialog, see "The 'Help' Menu".

The menus are described in the following subsections.

4.1. The 'File' Menu

The File menu allows you to load and save projects, images, and color palettes from/to different formats. Additionally, a loaded palette can be exported as an image or into diverse text formats. As well, both images, and palettes can be printed. The File menu contains the following entries:

The actions within the File menu will be described in the following.

4.1.1. New project

A new project will be initialized consisting of a grayscale palette with 256 colors and no image. If either the palette or the image that were used before were not saved, a dialog will pop up asking whether they should be saved.

If the project tool bar is shown, you may as well click on the according icon () to instantiate a new project.

4.1.2. Open project...

This action loads an existing project from the file system. If either the palette or the image that were used before were not saved, a dialog will pop up asking whether they should be saved. Then, a file dialog will be shown that allows you to select the project file to load. When selecting one and pressing OK, the selected project will be loaded.

If the project tool bar is shown, you may as well click on the according icon () to load a project.

4.1.3. Save project

If a project was loaded and modified you can save the changes to the project by choosing this item. If the project was not saved before, a dialog will be shown where you can select the folder to save the project into and define the project's file name.

If the project tool bar is shown, you may as well click on the according icon () to save a project.

4.1.4. Save project as...

Choosing this item will show a dialog where you can select the folder to save the project into and its name.

If the project tool bar is shown, you may as well click on the according icon () to save a project under a new name.

4.1.5. Open palette...

A window opens which allows you to choose a palette file to load. After selecting the file and clicking OK or by double-clicking the file within the window, the palette will be loaded and shown in the palette viewer. If the current image is a not indexed RGB image, you will be asked whether it may be closed as palettes cannot be applied to such images. If the prior palette was modified and not saved, you will be asked whether you want to save it.

If the palette tool bar is shown, you may as well click on the according icon () to load a palette.

4.1.6. Save palette

If a palette was loaded and modified you can save the changed palette by choosing this item. If the palette was not saved before, a dialog will be shown where you can select the folder to save the palette into and define the palette's file name. As well, this dialog enables you to select the format to use for saving the palette.

The action can be only performed if a palette was loaded and changed or if a palette has been generated.

If the palette tool bar is shown, you may as well click on the according icon () to save the current palette.

4.1.7. Save palette as...

Choosing this item will show a dialog where you can select the folder to save the palette into and its name. As well, this dialog enables you to select the format to use for saving the palette.

The action can be only performed if a palette was loaded or generated.

If the palette tool bar is shown, you may as well click on the according icon () to save the current palette under a new name.

4.1.8. Export palette as image...

This action exports the current palette as an image. First, a dialog for defining how the palette shall be rendered is shown. This dialog is shown in the next figure.

Figure 4.1. Dialog for exporting a palette as an image.

Dialog for exporting a palette as an image.

In principle, when being exported to an image, a palette is rendered as a table where each cell contains one of the palette's color entries. The number of columns is variable. You may alter the following rendering parameter:

  • Padding / Top: defines the size of the top border;

  • Padding / Right: defines the size of the right border;

  • Padding / Bottom: defines the size of the bottom border;

  • Padding / Left: defines the size of the left border;

  • Spacing / Vertical: defines the width of the vertical spacing between the columns;

  • Spacing / Horizontal: defines the height of the horizontal spacing between the lines;

  • Size / Width: defines the width of each palette entry cell;

  • Size / Height: defines the height of each palette entry cell;

  • Shape / Columns: defines the number of columns;

  • Background / Color: defines the color of the background, i.e. the color of the borders and spaces between the cells.

The resulting image is shown in the preview window.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database. This dialog shares the database with the "Print palette..." dialog. Settings saved into the database in one of these dialogs are available within the other one as well.

After defining how the palette shall be rendered and pressing OK, the dialog will be closed and a file selection dialog will be opened for choosing the destination folder and a file name. In addition, one of the supported image formats can be chosen. When Pressing OK, the current palette will be rendered and saved as an image to this file.

The action can be only performed if a palette was loaded or generated.

4.1.9. Export palette as text...

This action exports the current palette as text. First, a dialog for defining how the palette shall be rendered is shown. This dialog is shown in the next figure.

Figure 4.2. Dialog for exporting a palette as text.

Dialog for exporting a palette as text.

The text export consists of four parts which can be edited as text using the according text line editors:

  • Header: the header will precede all the entries;

  • Entry: defines how each entry shall be rendered;

  • Divider: defines the divider that is written between the entries;

  • Footer: the footer is written after all entries were written.

In addition, you may define the text encoding to use using the Encoding selector. The resulting text representation is shown in the preview window.

For writing colors, diverse placeholders / variables can be used that render the components of a color entry in different ways. In addition, special character, such as newlines or tabs can be used. An overview can be found in the appendix "User Symbols".

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database. This dialog shares the database with the "Palette clipboard format..." dialog. Settings saved into the database in one of these dialogs are available within the other one as well.

After defining how the palette shall be rendered and pressing OK, the dialog will be closed and a file selection dialog will be opened for choosing the destination folder and file name. When Pressing OK, the current palette will be rendered and saved as an image to this file.

This action can be only performed if a palette was loaded or generated.

4.1.10. Open image...

A window opens which allows you to choose an image file to load. After selecting the file and clicking OK or double-clicking the file within the dialog, the image will be loaded and shown in the image viewer after being computed.

Please note that PaletteWB works with indexed images. If an RGB image has been loaded, it should be thereby converted into an indexed image, see "Supported Index Formats". Please note additionally, that it is possible to set a default (conversion) action to apply after an RGB image has been loaded, see "Default RGB image action".

If the image tool bar is shown, you may as well click on the according icon () to load an image.

4.1.11. Save image

If an image was loaded and modified you can save the changes by choosing this item. If the image was not saved before, a dialog will be shown where you can select the folder to save the image into and define the image's file name.

The action can be only performed if an image was loaded or generated and modified afterwards.

If the image tool bar is shown, you may as well click on the according icon () to save the current image.

4.1.12. Save image as...

Choosing this item will show a dialog where you can select the folder to save the image into and define the image's file name.

The action can be only performed if an image was loaded or generated.

If the image tool bar is shown, you may as well click on the according icon () to save the current image under a new name.

4.1.13. Close image

Choosing this item will remove the image from the image viewer. If the image was generated or modified, you will be asked whether you want to save the image before.

4.1.14. Print image...

When selecting this action, a standard print dialog will be opened. When pressing OK, the current image is printed using the selected printer.

The action can be only performed if an image was loaded or generated.

4.1.15. Print palette...

This action prints the current palette. First, a dialog for defining how the palette shall be rendered is shown. This dialog is shown in the next figure.

Figure 4.3. Dialog for printing a palette.

Dialog for printing a palette.

In principle, when being printed, a palette is rendered as a table where each cell contains one of the palette's color entries. The number of columns is variable. You may alter the following rendering parameter:

  • Padding / Top: defines the size of the top border;

  • Padding /Right: defines the size of the right border;

  • Padding / Bottom: defines the size of the bottom border;

  • Padding / Left: defines the size of the left border;

  • Spacing / Vertical: defines the width of the vertical spacing between the columns;

  • Spacing / Horizontal: defines the height of the vertical spacing between the lines;

  • Size / Width: defines the width of each palette entry cell;

  • Size / Height: defines the height of each palette entry cell;

  • Shape / Columns: defines the number of columns;

  • Background / Color: defines the color of the background, i.e. the color of the borders and spaces between the cells.

The resulting image is shown in the preview window.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database. This dialog shares the database with the "Export palette as image..." dialog. Settings saved into the database in one of these dialogs are available within the other one as well.

After defining how the palette shall be rendered and pressing OK, the dialog will be closed and a standard print dialog will be opened. When pressing OK, the current palette is printed using the selected printer.

The action can be only performed if a palette was loaded or generated.

4.1.16. Exit

Quits the application. If either the palette or the image were not saved, a dialog will pop up asking whether they should be saved.

4.2. The 'Edit' Menu

The Edit menu holds actions for undoing/redoing actions, interact with the palette and color clipboard and for selecting entries within the palette view. You may find the following actions in the Edit menu:

  • Undo: Undoes the last action, see "Undo";

  • Redo: Redoes the last action, see "Redo";

  • Clear history: Clears the undo/redo history, see "Clear history";

  • Cut: Cuts selected palette entries, copying them to the clipboard, see "Cut";

  • Copy: Copies the palette or selected entries to the clipboard, see "Copy";

  • Paste: Pastes colors from the clipboard into the palette, see "Paste";

  • Replace: Replaces selected entries by colors from the clipboard, see "Replace";

  • Delete: Deletes selected entries from the palette, see "Delete";

  • Edit...: Edits selected entries, see "Edit...";

  • Select all: Selects all entries, see "Select all";

  • Select none: Deselects all entries, see "Select none";

  • Invert selection: Inverts the current selection, see "Invert selection...";

  • Selection pattern...: Opens a dialog for applying a selection pattern, see "Selection pattern...";

  • Load selection...: Loads a previously saved selection, see "Load selection...";

  • Save selection...: Saves the current selection to a file, see "Save selection...".

The actions within the Edit menu will be described in the following.

4.2.1. Undo

Undo revokes the last action. Please note the changing the selection as well as fixing the palette size can be undone too.

The undo buffer is limited to 20 actions.

If the undo/redo tool bar is shown, you may as well click on the according icon () to undo the last action.

4.2.2. Redo

Redo re-performs the last undone action. Please note the changing the selection as well as fixing the palette can be redone too.

If the undo/redo tool bar is shown, you may as well click on the according icon () to redo the last undone action.

4.2.3. Clear history

Clears the undo/redo history.

4.2.4. Cut

Cut removes selected palette entries, copying them into the clipboard. The order of colors in the palette is preserved within the clipboard. The palette will be reduced by the number of cut entries, subsequent entries are moved in place of the cut colors. If the palette size is fixed, the default background color is appended to the palette to fit the fixed size, see also "Fix palette size". After cutting the entries, the current selection is removed.

The action can be only performed if at least one palette entry is selected.

Please note that you may change the format of single colors in the clipboard using the "Color clipboard format" action and the format of palettes or color sets using the "Palette clipboard format..." action, both to be found in the Settings menu (see The 'Settings' Menu).

If the edit tool bar is shown, you may as well click on the according icon () to remove selected palette entries while copying them to the clipboard.

4.2.5. Copy

The selected entries are copied into the clipboard. If no entry is selected, the complete palette will be copied into the clipboard. The order of colors in the palette is preserved within the clipboard.

The action can be only performed if a palette exists.

Please note that you may change the format of single colors in the clipboard using the "Color clipboard format" action and the format of palettes or color sets using the "Palette clipboard format..." action, both to be found in the Settings menu (see The 'Settings' Menu).

If the edit tool bar is shown, you may as well click on the according icon () to copy selected palette entries.

4.2.6. Paste

Colors within the clipboard are copied into the current palette by this action. If no entry is selected, the colors from the clipboard are appended to the end of the palette. If one or more entries are selected, all colors from the clipboard are inserted at all selected positions.

The action can only be performed if the clipboard contains colors and the palette size is not fixed, see also "Fix palette size".

If the edit tool bar is shown, you may as well click on the according icon () to paste colors from the clipboard into the palette.

Please note that currently the palette size is limited to 65536 entries. Please let us know if you need bigger palettes.

4.2.7. Replace

The colors in the clipboard are used subsequnetly to replace selected palette entries. If more entries are selected than colors in the clipboard, the process repeats from the begin of the clipboard colors.

The action can only be performed if the clipboard contains colors and at least one color entry is selected.

4.2.8. Delete

The action removes selected palette entries. The palette will be reduced by the number of deleted entries, subsequent entries are moved in place of the deleted colors. If the palette size is fixed, the default background color is appended to the palette to fit the fixed size, see also "Fix palette size". After cutting the entries, the current selection is removed.

If the edit tool bar is shown, you may as well click on the according icon () to delete selected palette entries.

4.2.9. Edit

The Edit action opens a dialog for choosing a new color for selected entries. All selected entries will get the chosen color. The action can only be performed if at least one color palette entry is selected.

If the edit tool bar is shown, you may as well click on the according icon () to edit selected palette entries.

4.2.10. Select all

This action selects all palette entries.

The action can only be performed if a palette exists.

4.2.11. Select none

This action deselects all palette entries - no entry is selected afterwards.

The action can only be performed if a palette exists.

4.2.12. Invert selection

Reverts the selection - all not selected entries will be selected, all selected entries will be deselected. The action can only be performed if a palette exists.

4.2.13. Selection pattern...

When activating this action, a dialog for defining a selection pattern will be opened. The dialog is shown in the following figure.

Figure 4.4. Dialog for defining a selection pattern.

Dialog for defining a selection pattern.

A selection pattern consists of a number of subsequently selected cells and a number of skipped, not selected cells. This pattern is repeated until the final cell to regard is reached. In addition, you may define the range of the palette to apply the selection pattern to. In particular, the following values can be set:

  • Limits / Begin index: defines the first palette entry the pattern shall be applied to;

  • Limits / Full palette: when selected, the complete palette is covered;

  • Limits / End index: defines the last palette entry the pattern shall be applied to;

  • Pattern / Set number: defines the number of subsequent entries that shall be selected;

  • Pattern / Skip number: defines the number of subsequent entries that shall not be selected;

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

The action can be only performed if a palette was loaded or generated.

4.2.14. Load selection...

This action opens a dialog for choosing a file that contains a previously saved selection. When choosing an according file, the selection description it contains will be loaded and shown in the palette view. It replaces the previous selection.

The action can only be performed if a palette exists.

For a description of the selection format see Appendix "Selection File Format".

4.2.15. Save selection...

When choosing this action, a dialog will open which allows you to define the folder and the file to save the current selection to. When choosing a file and pressing OK, the current selection will be saved into this file. This action can only be performed when at least one entry is selected.

4.3. The 'Palette' Menu

The Palette menu holds actions for generating and manipulating color palettes. You may find the following actions in the Palette menu:

  • Browse DB...: Opens a dialog for browsing the internal palettes database, see "Browse DB...";

  • Random from DB: Sets a random palette from the internal palettes database, see "Random from DB";

  • Prior from DB: Sets the palette from the internal palettes database that predecedes the last chosen one, see "Prior from DB";

  • Next from DB: Sets the palette from the internal palettes database that follows the last chosen one, see "Next from DB";

  • Interpolate selected: Interpolates the colors between selected palette entries, see "Interpolate selected";

  • Generate: Menu with palette generation methods, see "Generate";

    • By interpolation...: Opens a dialog for generating palettes by interpolation, see "By interpolation...";

    • By interpolating selected...: Opens a dialog for generating palettes by interpolation using selected entries, see "By interpolating selected...";

    • Using cosini...: Opens a dialog for generating palettes using cosini, see "Using cosini...";

  • Standard palettes: Menu with standard palettes, see "Standard palettes";

    • Grayscale: Sets a grayscale palette with 256 colors, see "Grayscale";

    • Extended grayscale: Sets a pseudo-grayscale palette with 766 colors, see "Extended grayscale";

    • Rainbow (256 entries): Sets a rainbow palette with 256 colors, see "Rainbow (256 entries)";

    • Rainbow (1024 entries): Sets a rainbow palette with 1024 colors, see "Rainbow (1024 entries)";

  • Adjust colors: Dialogs for colors enhancement, see "Adjust colors";

    • Brightness / contrast...: Opens a dialog for changing the brightness and contrast of the palette, see "Brightness / contrast...";

    • Hue / saturation / value...: Opens a dialog for changing the hue, saturation, and value of the palette, see "Hue / saturation / value...";

    • Tint...: Opens a dialog for tinting the palette, see "Tint...";

    • Gradient tint...: Opens a dialog for tinting the palette using a gradient, see "Gradient tint...";

    • Blur...: Opens a dialog for blurring the palette, see "Blur...";

  • Reorder: Menu with palette reordering actions, see "Reorder";

    • Invert order: Inverts the palette order, see "Invert order";

    • Shift by offset...: Opens a dialog for shifting the palette by an offset, see "Shift by offset...";

    • Sort colors...: Sorts palette entries with variable component weight, see "Sort colors...";

  • Apply pattern: Dialogs for applying resorting patterns on palettes, see "Apply pattern";

    • Repetition pattern...: Opens a dialog for applying diverse repetition patterns, see "Repetition pattern...";

    • Append mirrored: Appends a mirrored version of the palette to the palette, see "Append mirrored";

    • Persian raster...: Opens a dialog for applying a persian raster pattern, see "Persian raster...";

  • Resize the palette...: Opens a dialog for resizing the palette, see "Resize the palette...";

  • Set default color...: Sets the default color, see "Set default color...";

  • Fix palette size: Triggers whether the palette's size shall be fixed, see "Fix palette size";

  • Set palette size to: Sets the palette size to the chosen value, see "Set palette size to";

    • ...: ... different palette sizes;

  • Batch convert palettes...: Converts palettes between different formats in batch, see "Batch convert palettes...".

The actions within the Palette menu will be described in the following.

4.3.1. Browse DB

PaletteWB comes with many free palettes. The action "Browse DB" opens a dialog that supports browsing this database and selecting a palette. The dialog looks as shown in the following figure.

Figure 4.5. Dialog for browsing the palettes database.

Dialog for browsing the palettes database.

You can select a color palette source collection using the "Subset" drop-down. The included collections are listed in Appendix "Included Palettes". The entry "all" lists all color palettes from all sources. You may scroll through the entries using the mouse or the cursor keys up and down. When pressing the left mouse button over an entry, the entry will be selected. If an indexed image is loaded, the image will be colored using the selected palette. When clicking OK, the dialog will be closed and the last selected palette will be applied to the image.

The action is not available if an (not indexed) RGB image was loaded or generated.

If the database tool bar is shown, you may as well click on the according icon () to open the database.

4.3.2. Random from DB

This action choses a random palette from the palettes database and - if an indexed image exists - applies it to the current indexed image.

The action is not available if an (not indexed) RGB image was loaded or generated.

If the database tool bar is shown, you may as well click on the according icon () to choose a random palette from the database.

4.3.3. Prior from DB

This action retrieves the palette from the palettes database that precedes the one chosen last and - if existing - applies it to the current indexed image.

The action is not available if an (not indexed) RGB image was loaded or generated.

If the database tool bar is shown, you may as well click on the according icon () to select the palette from the database that is prior to the last chosen.

4.3.4. Next from DB

This action retrieves the palette from the palettes database that succeeds the one chosen last and - if existing - applies it to the current indexed image.

The action is not available if an (not indexed) RGB image was loaded or generated.

If the database tool bar is shown, you may as well click on the according icon () to select the palette from the database that is next to the last chosen.

4.3.5. Interpolate selected

When choosing this action, the color palette entries between the selected entries will get a color determined using a plain RGB interpolation between the colors of selected entries.

The action is available when a palette exists and at least two color entries have been selected.

4.3.6. Generate

The "Generate" submenu holds actions for generating palettes, namely:

  • By interpolation...: Opens a dialog for generating palettes by interpolation, see "By interpolation...";

  • By interpolating selected...: Opens a dialog for generating palettes by interpolation using selected entries, see "By interpolating selected...";

  • Using cosini...: Opens a dialog for generating palettes using cosini, see "Using cosini...".

These actions will be described in the following subsections.

4.3.6.1. By interpolation...

This action generates palettes by interpolating between so-called "ticks". When choosing the action, the dialog shown in the following figure is shown.

Figure 4.6. Dialog for generating palettes by interpolation.

Dialog for generating palettes by interpolation.

The dialog is build up as described in the following. A small grayscale ramp hints to the position along the palette. The resulting palette is shown below. Below the palette, you will find the field to interact with the diamond-shaped "ticks" which define the colors and their positions within the palette to interpolate between.

You may generate new ticks by clicking on an empty (not occupied by a tick) space within the ticks bar with the left mouse button. You may delete ticks by pressing the right mouse button on a tick. You may move a tick by selecting it with a single click and moving it. You may change the color of a tick by a double-click on it.

Please note that the first (index=0) and last (index=255) ticks cannot be moved or deleted.

The dialog offers additional controls for dealing with a selected tick and defining the methods for interpolation:

  • Entry / Index: shows the position (index) of the selected tick, allows to move the tick;

  • Entry / Color: shows the color of the selected tick, allows to change it by clicking with the left mouse button at the color field;

  • Interpolation (right) / Function: defines the function to use on the right side of the selected tick;

  • Interpolation (right) / Color space: the color space to use for interpolation on the right side of the selected tick;

  • Palette size: defines the size of the palette to generate.

Please note that the tick indices are normed to the range between 0 and 255 even if the generated palette is bigger. The tick positions will be internally adapted to accord to the generated palette shape.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the generated one.

4.3.6.2. By interpolating selected...

Calling this action opens the color interpolation dialog (see "By interpolation..."), yet with the currently selected entries as ticks.

4.3.6.3. Using cosini...

The action opens a dialog for generating palettes based on cosini. The dialog is shown in the following figure.

Figure 4.7. Dialog for generating palettes using cosini.

Dialog for generating palettes using cosini.

For each of the components, R, G, and B, the following values can be set:

  • a: a static offset along which the cosinus moves;

  • b: cosinus scaling factor;

  • c: step factor;

  • d: a static step offset.

As such, each of the components is computed using the following formula:

c = a + b * cos(c * i + d)

Where i is the index running along the palette entries.

The control "Palette size" sets the size of the generated palette. When "Keep size" is chosen, the formula is normalized. The palette is then shrunk / stretched. If the control is not checked, the function moves along the palette indices.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the generated one.

4.3.7. Standard palettes

The "Standard palettes" submenu holds actions that instantiate one of the given standard palettes, namely:

  • Grayscale: Sets a grayscale palette with 256 colors, see "Grayscale";

  • Extended grayscale: Sets a pseudo-grayscale palette with 766 colors, see "Extended grayscale";

  • Rainbow (256 entries): Sets a rainbow palette with 256 colors, see "Rainbow (256 entries)";

  • Rainbow (1024 entries): Sets a rainbow palette with 1024 colors, see "Rainbow (1024 entries)".

These actions will be described in the following subsections.

4.3.7.1. Grayscale

This action generates a plain grayscale palette with 256 entries.

4.3.7.2. Extended grayscale

This action generates an extended "grayscale" palette with 766 entries. The ramp is built by incrementing the components R, G, and B individually with an offset of 1.

4.3.7.3. Rainbow (256 entries)

This action generates a rainbow palette with 256 entries by iterating over the hue component of the HSV color space.

4.3.7.4. Rainbow (1024 entries)

This action generates a rainbow palette with 1024 entries by iterating over the hue component of the HSV color space.

4.3.8. Adjust colors

The "Adjust colors" submenu holds actions that apply filters on the current palette's entries, namely:

  • Brightness / contrast...: Opens a dialog for changing the brightness and contrast of the palette entries, see "Brightness / contrast...";

  • Hue / saturation / value...: Opens a dialog for changing the hue, saturation, and value of the palette entries, see "Hue / saturation / value...";

  • Tint...: Opens a dialog for tinting the palette, see "Tint...";

  • Gradient tint...: Opens a dialog for tinting the palette using a gradient, see "Gradient tint...";

  • Blur...: Opens a dialog for blurring the palette, see "Blur...".

These actions will be described in the following subsections.

4.3.8.1. Brightness / contrast...

When selected, this action shows a dialog for adjusting the palette's brightness and contrast. The dialog is shown in the following figure.

Figure 4.8. Dialog for adjusting brightness and contrast.

Dialog for adjusting brightness and contrast.

The dialog contains the following parameter:

  • Brightness: changes the brightness of the colors;

  • Contrast: changes the contrast between colors;

  • Selected only: when checked, the action will be performed on selected entries only. This parameter is only enabled if at least a single entry is selected.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.8.2. Hue / saturation / value...

When selected, this action shows a dialog for adjusting the palette's hue, saturation, and value. The dialog is shown in the following figure.

Figure 4.9. Dialog for adjusting hue, saturation, and value.

Dialog for adjusting hue, saturation, and value.

The dialog contains the following parameter:

  • Hue: changes the colors' hue, see also "Colorize";

  • Saturation: changes the colors' saturation;

  • Value: changes the colors' value;

  • Colorize: when checked, the hue will be applied to all palette entries. Otherwise, the individual colors are shifted by the hue value, rotating through the hue;

  • Selected only: when checked, the action will be performed on selected entries only. This parameter is only enabled if at least a single entry is selected.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.8.3. Tint...

When selected, this actions show a dialog for tinting the palette. Tinting denotes blending all of the palette colors with a semi-opaque color. The dialog is shown in the following figure.

Figure 4.10. Dialog for tinting the palette.

Dialog for tinting the palette.

The dialog contains the following parameter:

  • Tint color: the color to apply;

  • Opacity: the level of opacity to use when blending the palette with the chosen color;

  • Selected only: when checked, the action will be performed on selected entries only. This parameter is only enabled if at least a single entry is selected.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.8.4. Gradient tint...

When selected, this action shows a dialog for tinting the palette using a gradient. Tinting denotes blending all of the palette colors with a semi-opaque color. In this case, two colors can be used which are interpolated along the palette. The dialog is shown in the following figure.

Figure 4.11. Dialog for tinting the palette with interpolated colors and opacities.

Dialog for tinting the palette with interpolated colors and opacities.

The dialog contains the following parameter:

  • Begin / Tint color: the color to apply at the starting tinting position;

  • Begin / Opacity: the level of opacity to use at the starting tinting position when blending the palette with the chosen color;

  • Begin / Index: the starting position (palette index) to tint the palette;

  • End / Tint color: the color to apply at the last tinting position;

  • End / Opacity: the level of opacity to use at the last tinting position when blending the palette with the chosen color;

  • End / Index: the last index to tint the palette;

  • Tint color interpolation mode: The color space to use when interpolating between the starting and the last tinting color.

  • Selected only: when checked, the action will be performed on selected entries only. This parameter is only enabled if at least a single entry is selected.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.8.5. Blur...

This action blurs the palette. When selected the following dialog is shown.

Figure 4.12. Dialog for blurring the palette.

Dialog for blurring the palette.

The dialog contains the following parameter:

  • Mode: selects the color mode to use when blurring;

  • Method: you may select "running mean" or "normal (Gauß)" as the weighting function for blurring;

  • Wrap: if checked, the blurring algorithm will wrap around the palette's boundaries;

  • Master size: this defines the size (window) of the blur filter for all components;

  • <Component #1> size: this defines the size (window) of the blur filter for component #1 of the selected color space;

  • <Component #2> size: this defines the size (window) of the blur filter for component #2 of the selected color space;

  • <Component #3> size: this defines the size (window) of the blur filter for component #3 of the selected color space;

  • <Component #4> size: this defines the size (window) of the blur filter for component #4 of the selected color space if existing (only for the CMYK color space).

  • Selected only: when checked, the action will be performed on selected entries only. This parameter is only enabled if at least a single entry is selected.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.9. Reorder

The "Reorder" submenu holds actions that change the order of colors within the palette, namely:

  • Invert order: Inverts the palette order, see "Invert order";

  • Shift by offset...: Opens a dialog for shifting the palette by an offset, see "Shift by offset...";

  • Sort colors...: Sorts palette entries with variable component weight, see "Sort colors...".

These actions will be described in the following subsections.

4.3.9.1. Invert order

When selected, the order of the palette entries will be reversed.

4.3.9.2. Shift by offset...

This action shifts (rotates) the palette entries. When selected the following dialog is shown.

Figure 4.13. Dialog for shifting the palette by an offset.

Dialog for shifting the palette by an offset.

The dialog contains the following parameter:

  • Offset: the offset by which the palette's entries shall be rotated.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.9.3. Sort colors...

This action (re)sorts the palette entries by variable values. When selected the following dialog is shown.

Figure 4.14. Dialog for sorting the palette.

Dialog for sorting the palette.

The dialog contains the following parameter:

  • Mode: selects the color mode to use when sorting;

  • <Component #1>: defines the weight of component #1 of the selected color space;

  • <Component #2>: defines the weight of component #2 of the selected color space;

  • <Component #3>: defines the weight of component #3 of the selected color space;

  • <Component #4>: defines the weight of component #4 of the selected color space if existing (only for the CMYK color space);

  • Invert: when checked, computed order will be reversed.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the adjusted one.

4.3.10. Apply pattern

The "Apply Pattern" submenu holds actions that apply a repetition pattern to the current palette, namely:

  • Repetition pattern...: Opens a dialog for applying diverse repetition patterns, see "Repetition pattern...";

  • Append mirrored: Appends a mirrored version of the palette to the palette, see "Append mirrored".

  • Persian raster...: Opens a dialog for applying a persian raster pattern, see "Persian raster...";

These actions will be described in the following subsections.

4.3.10.1. Repetition pattern...

This action reorders the colors of a palette using diverse repetition patterns. When selected, the following dialog is shown:

Figure 4.15. Dialog for applying the repetition patterns.

Dialog for applying the repetition patterns.

The dialog contains the following parameter:

  • Pattern: the repetition algorithm to use;

  • Width: a width, where applicable;

  • Divider color: the color of the dividing cells, where applicable;

  • Divider size: the size of the dividing cells, where applicable;

  • Mirror: when checked, a mirrored copy of the generated pattern will be appended to the resulting palette.

See this blog entry about c64 repetition pattern for further information.

Please note that applying repetition patters to palettes increases their size very fast. This method should be thereby applied to small palettes only. Therefore, a warning dialog is prompted if the function is applied to palettes with more than 16 entries.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the generated one.

4.3.10.2. Append mirrored

This action appends a mirrored version of the current palette to the current palette.

This action is only available if a palette exists and her size is not fixed.

4.3.10.3. Persian Raster...

This action reorders the colors of a palette using the "Persian raster" method. When selected, the following dialog is shown:

Figure 4.16. Dialog for applying the persian raster pattern.

Dialog for applying the persian raster pattern.

The dialog contains the following parameter:

  • Offset: the offset to the first color entry used;

  • Fin Height: the height of the fins;

  • Between Fin Increment: the index increment between the fins;

  • Inner Fin Increment: the index increment within a fin;

  • Palette size: defines the palette size.

See this blog entry about Persian rasters for further information.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the generated one.

4.3.11. Resize the palette...

This action offers diverse methods to resize - shrink or enlarge - the palette. When selected the following dialog is shown.

Figure 4.17. Dialog for resizing the palette.

Dialog for resizing the palette.

The dialog contains the following parameter:

  • Extension method: selects the method to use when enlarging the palette;

  • Reduction method: selects the method to use when shrinking the palette;

  • Palette size: defines size of the palette to generate.

In dependence to whether you enlarge or shrink the palette, the method defined in "Extension method" or "Reduction method" will be applied. They will be discussed in the following.

The following methods are available for reducing a palette size:

  • Stretch by interpolation: available entries are spread linear along the new palette, added entries will be by computed by interpolating the neighbor entries; the interpolation is currently performed in the RGB space;

  • Stretch by duplication: available entries are spread linear along the new palette, added entries are generated by duplicating neighbor entries;

  • Stretch with background: available entries are spread linear along the new palette, the currently chosen background / default color, see "Set default color...", is used for added entries;

  • Append last: available entries are put at the begin of the palette, the palette's remaining entries are filled with the last color of the palette;

  • Prepend first: available entries are put at the end of the palette, the palette's first entries are filled with the first color of the palette;

  • Center with first/last: available entries are put in the middle of the palette, added entries are split into half and the first ones are filled with the palette's first color, while the palette's last color is used to fill the entries at the end;

  • Append background: available entries are put at the begin of the palette, the palette's remaining entries are filled with the background color;

  • Prepend background: available entries are put at the end of the palette, the palette's first entries are filled with the background color;

  • Center with background: available entries are put in the middle of the palette, added entries are filled with the background color.

The following methods are available for reducing a palette size:

  • Nearest: using a linear mapping from the initial to the reduced palette, each entry gets the color of the nearest entry in the original palette;

  • Average: using a linear mapping from the initial to the reduced palette, each entry gets the average of the colors within the original palette that are mapped to it;

  • Prune back: entries are removed at the end of the palette;

  • Prune front: entries at the begin of the palette are removed;

  • Prune sides: entries from the begin and the end of the palette are removed;

  • Prune center: entries from the center of the palette are removed.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

When pressing OK, the current palette will be replaced by the generated one.

4.3.12. Set default color...

This action opens a new color chooser dialog for defining the default color. The color is mainly used to fill up undefined colors, e.g. when the palette is fixed and parts of it are cut.

The currently set default color is shown on the left side of the action's menu entry.

When pressing OK, the current palette will be replaced by the generated one.

4.3.13. Fix palette size

This action triggers (checks / unchecks) whether the palette size shall be fixed. When fixed, most actions keep the current palette size unchanged. Otherwise, the palette size may change when entries are cut, appended or new palettes are generated.

4.3.14. Set palette size to -> X

This set of actions reset the palette size to the given number. If the size is lower than the current palette size, entries beyond the desired palette size are removed. If the new size is bigger than the current palette size, entries with the default color are appended.

For a more powerful way to change the palette size, use "Resize the palette...".

4.3.15. Batch convert palettes...

This option allows you to convert multiple palettes in batch. When selected, the action opens the dialog shown in the following figure.

Figure 4.18. Dialog for palette batch conversion.

Dialog for palette batch conversion.

This dialog allows you to select the individual files as well as folders. When selecting folders, all found palette files stored within them will be converted. Whether a file is a palette file or not is determined by the file's extension. Using the "Assume file format:" option, you can force PaletteWB to convert only certain types of palettes. The "Convert to:" option allows you to set the format to convert the palettes to. The extension used by this file format will be automatically set.

At the top of the dialog, the available drives and subsequently folders and files are listed. The dialog contains the following further parameter:

  • Assume source format: selects which files shall be read, by format; when the "unspecified" option is chosen, all known palette files within the selected folders will be converted;

  • Convert to: selects the destination format; if a non-standard palette format is chosen, i.e. "Image file" or "Text file", the "Extended settings" button and the "Destination file extension" selector will be activated that allows for setting the exact export / rendering format and the destination format, respectively;

  • Extended settings: available if "Image file" or "Text file" was selected; in these cases, the generated files can be defined using the dialogs from "Export palette as image..." and "Export palette as text..."-dialogs, respectively;

  • Destination file extension: available if "Image file" or "Text file" was selected; in these cases, known image and text file extensions get available;

  • Destination folder: the destination folder may be selected using the open button () or directly entered into the text field at the dialog's bottom; if a destination folder is given, the converted files are written into this folder. Otherwise, the converted files are written to the folder the original files lie within.

When pressing OK, the batch converting process starts. A progress dialog is shown for following the process. If something fails during the conversion, an error dialog pops up asking for further action.

If the export tool bar is shown, you may as well click on the according icon () to delete selected palette entries.

4.4. The 'Image' Menu

Here, you can find items for generating images, converting images to indexed images and for exporting a color cycling animation

  • Generate: Menu with image generation methods;

    • Mandelbrot...: Generates a Mandelbrot fractal, see "Mandelbrot...";

    • Julia...: Generates a Julia fractal, see "Julia...";

    • Noise...: Generates a noise image, see "Noise...";

  • Convert...: Converts the current image into a different mode, see "Convert...";

  • Fast convert: Menu with instant actions for changing the image mode, see "Fast convert";

    • To grayscale: Converts the current image to a 8bit grayscale image with 256 shades, see "To grayscale";

    • To extended grayscale: Converts the current image to a 32bit pseudo-grayscale image with 766 shades, see "To extended grayscale";

    • To continuous grayscale: Converts the current image to a continuous grayscale image, see "To continuous grayscale";

    • To 8bit indexed using the last palette: Converts the current image to an indexed 8bit grayscale image and applies the last used palette, see "To 8bit indexed using the last palette";

    • To continuous using the last palette: Converts the current image to a continuous image and applies the last used palette, see "To continuous using the last palette";

    • To 8bit indexed: Converts the current image to an indexed 8bit image with a quantized palette, see "To 8bit indexed";

    • To 32bit indexed as ints: Converts the current image to an indexed 32bit image assuming the RGB color is an index, see "To 32bit indexed as ints";

    • To continuous: Converts the current image to a continuous image, see "To continuous".

  • Interpolate colors: Triggers color interpolation in continuous images, see "Interpolate colors";

  • Transform: Menu with image transformation methods, see "Transform";

  • Export animation...: Exports a color cycling animation, see "Export animation...";

  • Batch apply palette...: Applies the current palette to multiple images, see "Batch apply palette...".

4.4.1. Generate

The "Generate" submenu holds actions that generate diverse images, namely:

  • Mandelbrot...: Generates a Mandelbrot fractal, see "Mandelbrot...";

  • Julia...: Generates a Julia fractal, see "Julia...";

  • Noise...: Generates a noise image, see "Noise...".

These actions will be described in the following subsections.

4.4.1.1. Mandelbrot...

When selected, a dialog for rendering Mandelbrot fractals is shown. The dialog is shown in the following image.

Figure 4.19. Dialog for rendering Mandelbrot fractals.

Dialog for rendering Mandelbrot fractals.

The dialog contains the following parameter:

  • View / X-offset: defines the position of the center of the shown part of the Mandelbrot area along the x-axis;

  • View / Y-offset: defines the position of the center of the shown part of the Mandelbrot area along the y-axis;

  • View / Zoom: defines the used zoom factor;

  • Computation / Iterations: defines the maximum iteration number;

  • Computation / Scale: defines the palette repetition scale;

  • Image size / Width: defines the width of the image to generate;

  • Image size / Height: defines the height of the image to generate;

  • Image mode / Mode: selects the mode of the generated image;

  • Image mode / Stretch: available if the continuous image mode was selected; when chosen, the contents of generated image will be stretched along the complete value range.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

The view is interactive. You can move the shown part when pressing the left mouse button and moving the mouse. You can use the mouse scroll wheel to zoom in/out. You may as well move the shown area with the cursor keys and zoom in/out using the keys '+' and '-', respectively.

Pressing "Reset" will reset the view to the first preset. Pressing OK generates the defined image, optionally asking whether the previous image shall be saved. Cancel will close the dialog without generating an image.

Please note that PaletteWB is not a fractal rendering application. The used fractal rendering method support only low-precision floating point numbers. Deep zooms are thereby not possible and will yield in low resolution images.

For further information about Mandelbrot sets, see the Wikipedia article about Mandelbrot sets.

4.4.1.2. Julia...

When selected, a dialog for rendering Julia fractals is shown. The dialog is shown in the following image.

Figure 4.20. Dialog for rendering Julia fractals.

Dialog for rendering Julia fractals.

The dialog contains the following parameter:

  • c / Real: defines the real part of the investigated z;

  • c / Imag: defines the imaginary part of the investigated z;

  • View / X-offset: defines the position of the center of the shown part of the Julia area along the x-axis;

  • View / Y-offset: defines the position of the center of the shown part of the Julia area along the y-axis;

  • View / Zoom: defines the used zoom factor;

  • Computation / Iterations: defines the maximum iteration number;

  • Computation / Scale: defines the palette repetition scale;

  • Image size / Width: defines the width of the image to generate;

  • Image size / Height: defines the height of the image to generate;

  • Image mode / Mode: selects the mode of the generated image;

  • Image mode / Stretch: available if the continuous image mode was selected; when chosen, the contents of generated image will be stretched along the complete value range.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

The view is interactive. You can select a new z by pressing the right mouse button within the area, you can as well move the mouse while holding the right button. You can move the shown part when pressing the left mouse button and moving the mouse. You can use the mouse scroll wheel to zoom in/out. You may as well move the shown area with the cursor keys and zoom in/out using the keys '+' and '-', respectively.

Pressing "Reset" will reset the view to the first preset. Pressing OK generates the defined image, optionally asking whether the previous image shall be saved. Cancel will close the dialog without generating an image.

Please note that PaletteWB is not a fractal rendering application. The used fractal rendering method support only low-precision floating point numbers. Deep zooms are thereby not possible and will yield in low resolution images.

For further information about Julia sets, see the Wikipedia article about Julia sets.

4.4.1.3. Noise...

When selected, a dialog for rendering Noise images is shown. The dialog is shown in the following image.

Figure 4.21. Dialog for rendering Noise images.

Dialog for rendering Noise images.

The dialog contains the following parameter:

  • Offset / x: defines the position of the center of the shown part along the x-axis;

  • Offset / y: defines the position of the center of the shown part along the y-axis;

  • Offset / z: defines the position of the center of the shown part along the y-axis;

  • Steps / x: defines the step increment along the x-axis;

  • Steps / y: defines the step increment along the y-axis;

  • Image size / Width: defines the width of the image to generate;

  • Image size / Height: defines the height of the image to generate;

  • Image mode / Mode: selects the mode of the generated image;

  • Image mode / Stretch: available if the continuous image mode was selected; when chosen, the contents of generated image will be stretched along the complete value range.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

The view is interactive. You can move the visible area when holding the left mouse button and moving the mouse. This affects the Offset / x and the Offset / y values. When holding the right mouse button and moving the mouse the scale is changed, namely Steps / x and Steps / y. For scaling in both dimensions at once, you can use the mouse' scroll wheel.

Pressing "Reset" will reset the view to the first preset. Pressing OK generates the defined image, optionally asking whether the previous image shall be saved. Cancel will close the dialog without generating an image.

Please note that PaletteWB is not a fractal rendering application. The used fractal rendering method support only low-precision floating point numbers. Deep zooms are thereby not possible and will yield in low resolution images.

4.4.2. Convert...

This action opens a dialog for converting a loaded image into a format that allows for applying palettes as gradients, see "Supported Index Formats", what means that the colors within the palette are sorted.

The sorting is initially based on the pixel brightness. Even if a palette that is not sorted by brightness is applied afterwards, the order remains preserved.

Such ordered images - indexed or continuous - are, besides color palettes, PaletteWB's main data to work with, see "Supported Index Formats".

Figure 4.22. Dialog for converting images.

Dialog for converting images.

The dialog contains the following parameter:

  • Destination palette: defines the palette to apply; the options (see below) may have additional dialogs;

  • Destination mode: defines the image mode to convert the image to, see below.

Different sources can be used for the destination palette to apply, namely:

  • Grayscale: a grayscale palette with 256 shades will be used;

  • Extended grayscale: a pseudo-grayscale palette with 766 shades will be used;

  • Last palette: the last palette shown before loading the image will be used;

  • From DB: a palette from the PaletteWB database can be selected that will be used.

    When selected, the pane will include additional controls for selecting a palette from the database. The controls are shown in the next figure.

    Figure 4.23. Additional controls for defining a palette from the palettes database to use.

    Additional controls for defining a palette from the palettes database to use.

    You may either enter the name of the palette to use directly into the text field or press the database symbol for opening the palette database browsing dialog, see "Browse DB".

  • From file: A palette loaded from a palette file will be used.

    When selected, the pane will include additional controls for selecting a palette file to read the palette to use from. The controls are shown in the next figure.

    Figure 4.24. Additional controls for selecting a palette file with a palette to use.

    Additional controls for selecting a palette file with a palette to use.

    You may either enter the name of the palette file to read directly or use the open palette button. When pressing the button, a dialog for selecting a palette will be shown, see "Open palette...".

The usual PaletteWB image modes are supported, namely indexed and continuous. If indexed is chosen, an 8 bit indexed color image will be generated if the palette contains not more than 256 colors. If the palette is bigger, a 32 bit indexed color image will be generated. The interpolation of colors (see "Interpolate colors") is disabled per default and has to be set manually using Interpolate colors. If the generated image would contain more colors that currently set as maximum (see "Fix palette size"), the indices beyond the maximum index will be set to the maximum index.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

Pressing OK converts the image using the set values. Cancel will close the dialog without converting an image.

4.4.3. Fast convert

The "Fast convert" submenu holds actions that convert the current image into a different mode. They are less powerful than the "Convert..." action, see Convert..., but often faster. The following fast conversion actions exist:

  • To grayscale: Converts the current image to a 8bit grayscale image with 256 shades, see "To grayscale";

  • To extended grayscale: Converts the current image to a 32bit pseudo-grayscale image with 766 shades, see "To extended grayscale";

  • To continuous grayscale: Converts the current image to a continuous grayscale image, see "To continuous grayscale";

  • To 8bit indexed using the last palette: Converts the current image to an indexed 8bit grayscale image and applies the last seen palette, see "To 8bit indexed using the last palette";

  • To continuous using the last palette: Converts the current image to a continuous image and applies the last seen palette, see "To continuous using the last palette";

  • To 8bit indexed: Converts the current image to an indexed 8bit image with a quantized palette, see "To 8bit indexed";

  • To 32bit indexed as ints: Converts the current image to an indexed 32bit image assuming the RGB color is an index, see "To 32bit indexed as ints";

  • To continuous: Converts the current image to a continuous image, see "To continuous".

These actions will be described in the following subsections.

4.4.3.1. To grayscale

When selected, the current image is converted to an indexed grayscale image with 256 shades. The generated image is an 8bit indexed image.

The result is the same as when applying the "Convert...." action with Destination palette=Grayscale and Destination mode=Indexed.

4.4.3.2. To extended grayscale

When selected, the current image is converted to an indexed pseudo-grayscale image with 766 shades. The generated image is a 32bit indexed image.

The result is the same as when applying the "Convert...." action with Destination palette=Extended grayscale and Destination mode=Indexed.

4.4.3.3. To continuous grayscale

When selected, the current image is converted to a continuous grayscale image with 256 shades. The generated image is a continuous (floating point) image.

The result is the same as when applying the "Convert...." action with Destination palette=Extended grayscale and Destination mode=Continuous.

4.4.3.4. To 8bit indexed using the last palette

When selected, the current image is converted to an indexed grayscale image with 256 colors (8bit). Then, the last visible palette is applied.

4.4.3.5. To continuous using the last palette

When selected, the current image is converted to a continuous grayscale image. Then, the last visible palette is applied.

4.4.3.6. To 8bit indexed

When selected, the current image is converted to an indexed image with max. 256 colors. The generated image is an 8bit indexed image. The image is quantized and dithered using Qt's default settings.

4.4.3.7. To 32bit indexed as ints

When selected, the current image is converted to an indexed image. The generated image is a 32bit indexed image with 65536 color entries. It is a special format that should be used for specifically prepared images, see also "Supported Index Formats". Use it at your own risk.

4.4.3.8. To continuous

When selected, the current image is converted to a continuous image. This action is only available when the current image is in indexed mode.

4.4.4. Interpolate colors

This action checks / unchecks the interpolation of colors for continuous images. A continuous image may address an almost infinite number of colors, including fractions. When interpolation is enabled, these fractions will be colored by interpolating palette entries, see also Supported Index Formats. Currently, the interpolation is performed within the RGB color space.

Please note that image processing gets remarkably slower when interpolating colors as every pixel's color has to be computed using an interpolation function. Enabling interpolation should be therefore performed as one of the last steps. As a remembering help, PaletteWB will warn you when enabling color interpolation.

4.4.5. Transform

The "Transform" submenu holds actions for transforming the current image, namely:

These actions will be described in the following subsections.

4.4.5.1. Mirror horizontally

Mirrors the image horizontally, i.e. along the x-axis.

4.4.5.2. Mirror vertically

Mirrors the image vertically, i.e. along the y-axis.

4.4.5.3. Rotate 90° CW

Rotates the image by 90° clockwise.

4.4.5.4. Rotate 90° CCW

Rotates the image by 90° counter-clockwise.

4.4.6. Export animation...

This option allows generating animations using color cycling.

At first, a file choosing dialog is shown where you can define the animation's destination folder and the file name to use. If the palette is less or equal to 256 entries in size, the animation can be exported as a gif-file. Otherwise, only avi movie files are supported. Currently, the animations are exported in a non-compressing codec and are thereby very large.

After entering or selecting a valid filename, the dialog shown in the following figure is displayed.

Figure 4.25. Animation settings dialog.

Animation settings dialog.

The dialog contains the following parameter:

  • Start index: defines the first index to cycle;

  • End index: defines the last index to cycle;

  • Frames per second: defines the speed of the animation in frames per second;

Pressing OK begins the animation generation process. To indicate the remaining time, a progress dialog is shown. Cancel will close the dialog without generating an animation.

The action can only be chosen, if an indexed image exists.

If the export tool bar is shown, you may as well click on the according icon () to open the export animation dialog.

4.4.7. Batch apply palette...

This action applies a palette to an arbitrary number of selected images, e.g. for preparing image to be joined into a movie. When selected, the dialog shown in the following figure is displayed.

Figure 4.26. Dialog for applying a palette in batch to multiple images.

Dialog for applying a palette in batch to multiple images.

The dialog contains the following parameter:

  • Source images: the view allows for choosing individual files as well as folders by setting a check marker in the rectangles one can find left to the folder / file names; if a folder is selected, the action will be applied to all image files it contains;

  • Destination palette: selects a destination palette; available values are:

    • Grayscale: a grayscale palette with 256 shades will be used;

    • Extended grayscale: an extended pseudo-grayscale palette with 766 shades will be used;

    • Current palette: the currently shown, or, if not given, the last shown palette will be used;

    • From DB: a palette from PaletteWB's palette database will be used; one can either enter the name of the palette manually, or use the "db" icon () to open the "Browse DB..." dialog for selecting a palette;

    • From file: a palette loaded from a file will be used; one can either enter the name of the palette file manually, or use the "open palette" icon () to open a file dialog for selecting a palette.

  • Destination mode: defines the mode that shall be used while applying the palette, see also "Supported Index Formats";

  • Interpolate colors: only available for continuous images; if selected, the colors will be interpolated;

  • Destination format: defines the destination image format to use when saving the results;

  • Destination folder: defines the folder to write the files to; if empty, the files will be written to the same folder they were respectively read from; the name of the folder to use can be either entered manually into the text field or be selected using the "open" () button.

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database.

Pressing OK starts the conversion process. To indicate the needed time, a progress dialog is shown. Please note that this process may take quite some time, not only overall, but for each processed image. Cancel will close the dialog without any action.

If the export tool bar is shown, you may as well click on the according icon () to open the batch apply palette dialog.

4.5. The 'View' Menu

The View menu holds actions for interacting with the image view. The View menu contains the following entries:

  • Normal Size: Resets the zoom factor to normal size, see "Normal Size";

  • Zoom In (25 %): Increases the zoom factor by 25%, see "Zoom In (25 %)";

  • Zoom Out (25 %): Decreases the zoom factor by 25%, see "Zoom Out (25 %)".

The actions within the View menu will be described in the following.

4.5.1. Normal Size

This action resizes the view to the image's original size. The action is only available if an image was loaded.

4.5.2. Zoom In (25 %)

This action zooms into the shown image by 25 %. The action is only available if an image was loaded.

Please note that zooming in will be disabled as soon as the resulting image takes too much memory. The limit depends on the original image's size.

4.5.3. Zoom Out (25 %)

This action zooms out of the shown image by 25 %. The action is only available if an image was loaded.

4.6. The 'Settings' Menu

The Settings menu holds actions changing the PaletteWB applications appearance. The Settings menu contains the following entries:

The actions within the Settings menu will be described in the following.

4.6.1. Color clipboard format -> X

This submenu holds options for defining how a single color shall be represented within the clipboard. When copying single colors, they can be pasted into a text editor. The format is defined by the selected option. The following clipboard color formats are currently defined:

  • RGB hex (#000000): the color will be represented as a hex-triplet containing the R, G, and B components, with a leading #;

  • RGB hex (000000): the color will be represented as a hex-triplet containing the R, G, and B components;

  • RGB ints (0, 0, 0): the color will be represented as an integer triplet of the R, G, and B components, surrounded by round brackets.

4.6.2. Palette clipboard format...

This action opens an editor for defining the text representation of palettes within the clipboard. When selected, an editor for representing the palette as text is opened. This dialog is shown in the next figure.

Figure 4.27. Dialog for defining a palette's clipboard format.

Dialog for defining a palette's clipboard format.

The text export consists of four parts which can be edited as text using the according text line editors:

  • Header: the header will precede all the entries;

  • Entry: defines how each entry shall be rendered;

  • Divider: defines the divider that is written between the entries;

  • Footer: the footer is written after all entries were written.

For writing colors, diverse placeholders / variables can be used that render the components of a color entry in different ways. In addition, special character, such as newlines or tabs can be used. An overview can be found in the appendix "User Symbols".

This dialog supports an interface to the presets database, see "PaletteWB's Dialog Presets Database". This means that you can save the current settings into a file or into PaletteWB's internal database, and load previously saved presets from files or the database. This dialog shares the database with the "Export palette as text..." dialog. Settings saved into the database in one of these dialogs are available within the other one as well.

After defining how the palette shall be rendered and pressing OK, the dialog will be closed.

4.6.3. Default RGB image action -> X

This submenu holds options for the action to perform as default when an RGB image has been loaded. Palettes cannot be applied to RGB images directly. The image has to be converted into a format that supports color indices, first, see also "Supported Index Formats".

As a shortcut, it is possible to define the default action to perform when an RGB image is loaded. The following actions are supported:

  • Ask..: When selected, after loading an RGB image a dialog that asks what to do next is shown;

  • Nothing (keep as RGB): does nothing; the user has to convert the image using the available actions (see "Fast convert" and "Convert...") to an indexed format for applying palettes;

  • Open convert dialog...: Opens the convert dialog, see "Convert...";

  • Convert to 8bit grayscale: Converts the image to an 8bit grayscale image with 256 shades of gray, see "To grayscale";

  • Convert to 32bit extended grayscale: Converts the image to an 32bit grayscale image with 766 pseudo-shades of gray, see "To extended grayscale";

  • Convert to continuous grayscale: Converts the image to a continuous grayscale image with 766 shades of gray, see "To continuous grayscale";

  • Convert to indexed using last palette: Converts the image to an 8bit indexed grayscale image and applies the palette seen as last, see "To 8bit indexed using the last palette";

  • Convert to continuous using the last palette: Converts the current image to a continuous image and applies the last seen palette, see "To continuous using the last palette";

  • Convert to 8bit indexed image: Converts the current image to an indexed 8bit image with a quantized palette, see "To 8bit indexed";

  • Convert to 32bit assuming int indices: Converts the current image to an indexed 32bit image assuming the RGB color is an index, see "To 32bit indexed as ints".

4.6.4. Set maximum palette size -> X

This menu holds the possibility to limit the maximum palette size. Often, big palettes are not needed and may be unhandy. You should keep this value as low as possible.

4.6.5. Show tool bars -> X

This set of actions toggles the visibility of the diverse tool bars. Tool bars are described "Tool bars". Each action triggers the visibility of certain tool bar.

4.6.6. Show status bar

This action toggles the visibility of the status bar.

4.7. The 'Help' Menu

The Help menu holds actions for interacting with the image view. The Help menu contains the following entries:

The actions within the Help menu will be described in the following.

4.7.1. About

This action shows the application about dialog which contains some basic information about PaletteWB.

If the help tool bar is shown, you may as well click on the according icon () to show the about dialog.

4.7.2. Help

This action opens the help dialog. The help dialog includes the same information as the online user documentation, yet browsable off-line. The dialog looks like the following:

Figure 4.28. The Help dialog.

The Help dialog.

If the help tool bar is shown, you may as well click on the according icon () to show the help dialog.

4.7.3. Visit palettewb.com

When choosing this action, PaletteWB's web site https://www.palettewb.com will be opened in your web browser.

4.7.4. Open PDF docs

This action opens the online PDF PaletteWB documentation in your default web browser.

5. PaletteWB's Dialog Presets Database

If purposeful, dialogs contain a menu bar for loading / saving the current dialog values. Values can be either saved to / loaded from files, or can be stored in an internal database (DB). The following actions are possible:

  • Save to DB...:: The current settings are saved into an internal database, under a name the user may choose, see "Saving to DB";

  • Remove from DB...: The currently selected settings are removed from the database, see "Removing from DB";

  • Rename in DB...: The currently selected settings are renamed within the database into a named to be entered by the user, see "Rename in DB";

  • Reload DB: The database will be reloaded as it may have been changed by a further instance, see "Reload DB";

  • Read from file....: Reads previously saved settings from a file, see "Read from file";

  • Save to file...: Saves the current settings into a file, see "Save to file".

In the following, these options will be described, first. The description of the used format for importing and exporting the current dialog values to files is given in the appendix "Selection File Format".

5.1. Saving to DB

A new dialog value set can be stored in the user database. When pressing this button, you will be asked to enter a name for the value set. If the name already exists for this dialog, you will be informed. Otherwise, the current value set is stored in the database and can be restored afterwards.

5.2. Removing from DB

A value set previously saved by the user can be removed from the database. When pressing this button, you will be asked whether you really want to delete the value set. When confirmed, the value set is removed from the database and cannot be access in future.

Please note that internal value sets (presets) cannot be removed.

5.3. Rename in DB

A value set previously saved by the user can be renamed. When pressing this button, you will be asked for a new name of the value set. If the entered name already exists, you will be informed. Otherwise, the entry in the database will be renamed and is afterwards accessible via the new name.

Please note that internal value sets (presets) cannot be renamed.

5.4. Reload DB

The contents of the user database can be altered while PaletteWB is running, e.g. through a second instance. For this purpose, it is possible to reload the current settings. When this button is pressed, the current database state is loaded.

5.5. Read from file

Value sets can be imported from files. Usually, such files are generated using the "Save to file" method. The format of these files is described in Presets File Format.

When pressing this button, a file dialog will be shown where you can choose the file to read. When selecting a file, it will be loaded. If any error occurs, you will be informed.

5.6. Save to file

Value sets can be exported to files. The format of these files is described in Presets File Format.

When pressing this button, a file dialog will be shown where you can choose a folder and a name to save the current value set to. If a file name was chosen, the current value set will saved into this file.

6. Contact and Further Information

PaletteWB has a web page at https://www.palettewb.com/. You may contact us by writing to info@palettewb.com.

PaletteWB is a product of:

Daniel Krajzewicz
Jochen-Nüßler-Straße 5
12359 Berlin
USt-IdNr.: DE281155133

Appendix A. Supported Palette Types

The following table shows which palette formats are known by PaletteWB.

Table A.1. Palette formats that can be imported and exported

Palette FormatExtensionCan be readCan be written
GIMP palettegplyesyes
Adobe Photoshop paletteacoyesyes
Fractint palettemapyesyes
Microsoft palettepalyesyes
A hexadecimal color listhextxtyesyes

Appendix B. Formatted String Variables

At some places, a FORMAT_STRING is used. The string may contain placeholders for current values, e.g. the color table entry's index. The following placeholders are supported:

Table B.1. FORMAT_STRING variables

VariableExpansion
%fthe filename without extension
%nthe name of the palette if given in the file, otherwise the file name (%f)
%ithe index of the palette entry
%rred component in decimal notation
%ggreen component in decimal notation
%bblue component in decimal notation
%Rred component in hexadecimal notation
%Ggreen component in hexadecimal notation
%Bblue component in hexadecimal notation
%hhue component in decimal notation
%ssaturation component in decimal notation
%vvalue component in decimal notation

Appendix C. Key Shortcuts

Some of the GUI menus have key shortcuts. The set of shortcuts shown in the next table is valid for interacting with the main PaletteWB window.

Table C.1. Key shortcuts in PaletteWB's main window

ShortcutAction
Ctrl+Oopen project
Ctrl+Ssave project
Ctrl+Zundo
Ctrl+Yredo
Ctrl+Xcut
Ctrl+Ccopy
Ctrl+Vpaste
Ctrl+Hreplace
Deldelete
Ctrl+Eedit
Ctrl+Aselect all
Ctrl+Iinvert selection
Ctrl+Dbrowse database
Ctrl+Wrandom palette from database
Alt+Rightprior palette from database
Alt+Leftnext palette from database
Ctrl+0reset zoom
Ctrl++zoom in
Ctrl+-zoom out

The help window has some shortcuts as well. Please find them in the following table.

Table C.2. Key shortcuts in PaletteWB's help window

ShortcutAction
Ctrl+0go to home page
Alt+Rightgo forward
Alt+Leftgo back
Ctrl+Fsearch

Appendix D. Included Palettes

PaletteWB comes with almost 700 free palettes. Please find the references to them in the following table.


Appendix E. Presets File Format

All dialogs that allow interacting with the presets database share the same format, which can be easily understood by human beings. Dialog value sets are stored as key/value pairs in text files.

At first, a header is written, consisting of the dialog name and the application version. Then, every dialog element (selection, value, option) is stored in an own line, the name first, then the value.

As such, the format is:

<DIALOG_NAME> <PALETTEWB_VERSION>
(<ENTRY_NAME>: <ENTRY_VALUE>)+

E.g., when exported, the value set for the adjust brightness / contrast dialog which decreases the brightness by 63 and increases the contrast by 61 will look as following:

brightness_contrast 2.0.0
brightness:-63
contrast:61

Appendix F. Selection File Format

The format used to save / load palette selections simply consists of the selected entry indices, line by line. A selection where the entries #0 and #128 are selected only looks as following:

0
128

Legal Information

Daniel Krajzewicz Jochen-Nüßler-Straße 5
12359 Berlin
USt-IdNr.: DE281155133
© Copyright 2009-2022 Daniel Krajzewicz
Last changed on November 07 2022 21:17:34.
910 visitors.
Contact: info@palettewb.com