You can use this program to reduce the colors used by an image!
First load a source image, either by pasting from the clipboard, or by selecting Open from the File menu. Since I could not think of a good way to handle multiple source images in the interface, you can only have one source image open at a time.
You can ZOOM in and out by activating the image window and pressing the PLUS and MINUS keys. If the image does not fit in the window, you can mouse-scroll by holding down the primary mouse button.
Select your desired output palette size, and hit Compress, and soon a reduced-color image will pop up. Right-clicking on the image opens an action menu, which allows you to copy the image to the clipboard, or save it as a PNG.
The right-click action menu also has the option "Import palette". It loads the image's colors into the preset list. This is only available if the number of colors in the image is not greater than the maximum output palette size, by default 256 colors.
The preset palette list is used to force specific colors to be used in output images. If the color reduction algorithm does not recognise a color you believe is extremely important, you can make the color a preset to be sure it will be used.
To edit the preset list, click a row you wish to edit, and type an RGB color into the bigger field. Type the Alpha or transparency value in the smaller field. An alpha of 0 is transparent, FF is opaque. Press Apply to place the color on the list.
You can also pick a color directly from an image by pressing the "From image" button. A little note will appear above the button if the color you are picking is already somewhere in the presets.
You may have trouble pasting in an image with an alpha channel from the clipboard. Not all programs copy images with valid alpha data. You may have better luck saving as a PNG, and trying to open that.
If you have the opposite problem, and an image copied from the clipboard has an unexpected alpha channel, you can use "Scrap source's alpha channel" from the Command menu.
The alpha channel, if present, will be rendered as shades of a single color. You can change this color by selecting "Set Alpha rendering color" from the Command menu.
Dithering means approximating intermediate colors by mixing other colors. Particularly photographic images will benefit from good dithering. It does not always improve image quality, so you can turn it off as well.
To compare different dithering types, render an image with one type, and import the palette from the result. You can then render new output images with other dithering options without having to wait for the program to recalculate all the colors.
The program can work in multiple color spaces. Currently RGB and YCbCr are available, but there's not much difference between them. Try both and see which you like for each image.
Select "Favor flat colors" to make the algorithm try to auto-detect areas of flat color, and use those as temporarily preset colors. This is not useful for photographic images, but drawings, comics and cartoons can benefit greatly.
Normally the algorithm attempts to represent all colors of the original image with minimal error, but that option tells the algorithm that using flat colors exactly as they are in the source image is more important.
Settings are automatically stored in BUNCOMP.INI in the program's directory. If you wish to keep a specific set of settings and palette presets, eg. for a game requiring a defined palette, select "Write settings to a file" in the File menu.