Important: The information in this document is obsolete and should not be used for new development.
GetPixMapInfo
Use theGetPixMapInfo
function to gather color information about a single pixel map or bitmap.
FUNCTION GetPixMapInfo (thePixMapHandle: PixMapHandle; VAR thePictInfo: PictInfo; verb: Integer; colorsRequested: Integer; colorPickMethod: Integer; version: Integer): OSErr;
thePixMapHandle
- A handle to a pixel map or bitmap.
thePictInfo
- A pointer to a
PictInfo
record, which will hold information about a pixel map or bitmap. ThePictInfo
record is described on page 7-31.verb
- A value indicating whether you want color information returned in a
ColorTable
record, aPalette
record, or both. You can also request that black and white not be included among the returned colors. You can use any or all of the following constants or the sum of the integers they represent:CONST returnColorTable = 1; {return a ColorTable record} returnPalette = 2; {return a Palette record} suppressBlackAndWhite = 16; {don't include black and } { white with returned colors}
- Because the Palette Manager adds black and white when creating a
Palette
record, you can specify the number of colors you want minus 2 in thecolorsRequested
parameter and specify the constantsuppressBlackAndWhite
in theverb
parameter when gathering colors destined for aPalette
record or a screen.colorsRequested
- From 1 to 256, the number of colors you want in the
ColorTable
orPalette
record returned via thePictInfo
record.colorPickMethod
- The method by which colors are selected for the
ColorTable
orPalette
record returned via thePictInfo
record. You can use one of the following constants or the integer it represents:CONST systemMethod = 0; {let Picture Utilities choose } { the method (currently they } { always choose popularMethod)} popularMethod = 1; {return most frequently used } { colors} medianMethod = 2; {return a weighted distribution } { of colors}
- You can also create your own color-picking method in a resource file of type
'cpmt'
and pass its resource ID in thecolorPickMethod
parameter. The resource ID must be greater than 127.version
- Always set this parameter to 0.
DESCRIPTION
For the pixel map (or bitmap) whose handle you pass in thethePixMapHandle
parameter, theGetPixMapInfo
function returns color information in thePictInfo
record that you point to in the parameterthePictInfo
. Initially, all of the fields in a newPictInfo
record are set toNIL
. Relevant fields are set to appropriate values depending on the information you request using theGetPixMapInfo
function.Use the
verb
parameter to specify whether you want color information returned in aColorTable
record, aPalette
record, or both, and use thecolorPickMethod
parameter to specify the method by which to select colors.The Picture Utilities provide two color-picking methods: one (specified by the
popularMethod
constant) that gives you the most frequently used colors and one (specified by themedianMethod
constant) that gives you the widest range of colors. If you specify thesystemMethod
constant, the Picture Utilities choose the method; currently they always choosepopularMethod
. You can also supply a color-picking method of your own.When you are finished with the information in the
PictInfo
record, be sure to dispose of it. Use the Memory Manager procedureDisposeHandle
to dispose of thePictInfo
record. Dispose of thePalette
record by using theDisposePalette
procedure. Dispose of theColorTable
record by using theDisposeCTable
procedure.SPECIAL CONSIDERATIONS
TheGetPixMapInfo
function may move or purge memory.ASSEMBLY-LANGUAGE INFORMATION
The trap macro and routine selector for theGetPixMapInfo
function are
Trap macro Selector _Pack15 $0801 RESULT CODES
SEE ALSO
See "Application-Defined Routines" beginning on page 7-60 for more information about creating your own color-picking method for thecolorPickMethod
parameter. ThePictInfo
record is described on page 7-31; thePixMapHandle
data type and theColorTable
record are described in the chapter "Color QuickDraw" in this book; thePalette
record is described in Advanced Color Imaging on the Mac OS.The
DisposePalette
procedure is described in Advanced Color Imaging on the Mac OS. TheDisposeCTable
procedure is described in the chapter "Color QuickDraw" in this book. TheDisposeHandle
procedure is described in the chapter "Memory Manager" in Inside Macintosh: Memory.