Also see:
Graphics and Image Processing Lab Reports
Color Reference Library

Program Description Keywords
Chromaticity.gif (2862 bytes)
CIE Chromaticity Diagrams.  (1931, 1960, or 1976 diagram using either
2- or 10-degree standard observer)
Color Matching Functions, CIE Chromaticity Diagrams, CIE Standard Observer, wavelength[nm], Maxwell Triangle, xyz Chromaticity Coordinates, XYZ color primaries, RGB Coordinates, Bitmap.Scanline,  TChart, Cramer's Rule, MulDiv, point in triangle algorithm, InsideGamut, TSimplePantograph, screen calibration, gamma correction, ShowAnnotation, Color System, EBU, NTSC, SMPTE, White Point
Display color charts and color names.   (1) Compare screen with real GretagMacbeth ™  ColorChecker®.  (2) View many of the Netscape colors. Color names, GretagMacbeth ColorChecker, Netscape colors, Color Calibration, RGB, Munsell Notation, color gamut, RGB, HSV, OnMouseMove
Display selected bits of a 24-bit color image Bit mask, color mask, true color, Delphi CLX, Kylix CLX, TPicture, BMP, JPG, PNG, Scanline, TRGBQuad, TRGBQuadArray, Contrast enhancement, CountColors, image scrolling
ColorMix.gif (1017 bytes)
Additive and subtractive mixtures of colors.
Add Red, Green, Blue to Black.
Subtract Red, Green, Blue from White.
RGB, CMY, CMYK, Additive Color, Subtractive Color, Scanline
ColorRange.gif (1115 bytes)
Show how to include or exclude a color  "box" of RGB values, or a range of HSV values, from an image RGB, HSV, TSensitiveImage (modified TImage), cm_MouseEnter, cm_MouseLeave, LoadGraphicsFile (loads BMP, JPG, WMF, EMF, or GIF), TColorDialog, TOpenPictureDialog, TSavePictureDialog, TIniFile, RGBTripleToHSV, TBevel
Combine three pf4Bit Bitmaps with Different Palettes into a pf24Bit Bitmap, or into a pf8Bit Bitmap with a Combined Palette Scanline, PixelFormat, pf4bit, pf8bit, pf24bit, Windows Palette, TMaxLogPalette, Canvas.Draw, pByteArray, palPalEntry, GetPaletteEntries, GetColorTable, IsPaletteDevice function, GetDeviceCaps, RASTERCAPS, RC_PALETTE, Canvas.Draw
Cycle through 18,000+ colors with 24-bit Bitmap. ScanLine, IdleAction, TRGBTriple, FractInt Color Maps
HueSaturationByValue.gif (5695 bytes)
Display Colors by Red-Green-Blue or Hue-Saturation-Value RGB, HSV, Color Space, ArcTan2, TTrackBar, CreateHSVGradient, CreateRGBGradient, CreateHueSaturationCircle,  IsPaletteDevice, High Color, True Color,  NaN, IsNan, IEEE754, MouseDown, MouseMove, ShellExecute, pRGBTripleArray, Scanline, EColorError, RGBtoHSV, HSVtoRGB, RGBtoRGBTriple, HSVtoRGBTriple, RGBTripleToHSV
Maxwell Triangle
MaxwellTriangleSmall.gif (1250 bytes)
Demonstrate the mixture of colored lights and introduce the concept of chromaticity coordinates. Maxwell Triangle, xyz Chromaticity Coordinates, RGB Coordinates, Bitmap.Scanline, Canvas.MoveTo, Canvas.LineTo, OnMouseMove, Cramer's Rule, MulDiv, point in triangle algorithm
Experiment with palettes in the Palette Lab.
Halftone Palette, Gradient Palette, Optimized Palette, FractInt Color Maps
Show RGB Colors. Display any of the 16.8 million RGB colors by using TrackBars to control the components of a color. Colors may dither in 256 color mode. See the 20 Windows colors that do not dither in 256 color mode. RGB, non-dither system palette colors, Color Depth, Palette Device, GetDeviceCaps, Raster Capabilities, ColorToString, GetRValue, GetGValue, GetBValue
Optimized Palette Demo -- Many Images. Create an optimized palette for several images of the best 236 colors for display on a 256 color monitor.

Same as ShowDemoOne, plus: GetBitmap callback Procedure, TComponentSet
Optimized Palette Demo -- One Image. Create an optimized palette for a single image of the best 236 colors for display on a 256 color monitor. Palettes, TOctreeNode class, TColorQuantizer class, Bitmap.Palette, Bitmap.LoadFromFile, ColorQuantizationLibrary unit, PaletteLibrary unit, TPaintBox, CreateHalftonePalette API call
Show Image
Show RGB, HSV, HLS, or CMYK Color Coordinates, Planes and Histograms

Count the number of unique colors in the image.

Designed for BMP, JPG, ICO, EMF, WMF files (and optionally GIFs) to be displayed in high color or true color modes on a monitor with 1024x768 pixels or higher.
RGB (Red-Green-Blue),
HSV (Hue-Saturation-Value),
HLS (Hue-Lightness-Saturation ),
CMYK (Cyan-Magenta-Yellow-Black),
YIQ (intensity, chromaticity -- "Y" is the part of a color TV signal displayed on black-and-white sets),
Intensity, Lightness.

Monochrome, Invert Controls.

BMP, JPG, ICO, WMF, EMF, GIF formats.

TBits (to count colors)


OnMouseMove, Histogram (a frequency distribution), Color Plane, TDescriptiveStatistics, GetRValue, GetGValue, GetBValue, GetCValue, GetMValue, GetYValue, GetKValue, TIniFile, TColor.
Split 24-bit RGB image into Red-Green-Blue color planes, or Hue-Saturation-Value planes. Includes Daisy.BMP (see Daisy above under Graphics) to decompose this image into its red, green and blue image planes. Show image plane in monochrome, if desired.
RGB, HSV, color planes, ScanLine
YUV Lab Reports
yvu.gif (989 bytes)
uyvy.gif (949 bytes)
grays.gif (1078 bytes)
YV-12 or YVU-9


YUV, RGB, YVU-9, YV-12, Scanline, TRGBTripleArray, TFileStream, Seek, SaveToFile,


Gray Scale, Y8, TMaxLogPalette, pByteArray, pRGBTripleArray, GetSystemPaletteEntries, Lookup Table

Also see efg'sSpectra Lab Report

Updated 6 Nov 2011
Since 1 Nov 1998