PATH
Mac OS 8 Developer Documentation
>
Mutlimedia and Graphics
>
ColorSync Manager
>
Managing Color With ColorSync
INSIDE MACINTOSH:
Managing Color With ColorSync
Covers ColorSync 2.5.1
Contents
Figures, Tables, and Listings
Revision History
Start Here
About This Document
What's in This Document
Conventions
Quick Reference Banners
Version Notes
Special Fonts
Types of Notes
Important Note on Code Listings
Chapter 1
Introduction to Color and Color Management Systems
ColorSync
Color: A Brief Overview
Color Perception
Hue, Saturation, and Value (or Brightness)
Additive and Subtractive Color
Color Spaces
Gray Spaces
RGB-Based Color Spaces
RGB Spaces
sRGB Color Space
HSV and HLS Color Spaces
CMY-Based Color Spaces
Device-Independent Color Spaces
XYZ Space
Yxy Space
L*u*v* Space and L*a*b* Space
Indexed Color Spaces
Named Color Spaces
Color-Component Values, Color Values, and Colors
Color Conversion and Color Matching
Color Management Systems
Chapter 2
Introduction to ColorSync
About ColorSync
Why You Should Use ColorSync
The ColorSync Advantage
Color Management in Action
ColorSync Manager Overview
ColorSync Versions
Minimum Requirements For Running ColorSync 2.5
Programming Interface
Profiles
The International Color Consortium Profile Format
ColorSync and ICC Profile Format Version Numbers
Source and Destination Profiles
Profile Classes
Profile Properties
Profile Location
Setting Default Profiles
Profile Search Locations
Where ColorSync Searches for Profiles
Where ColorSync Does Not Look for Profiles
Temporarily Hiding a Profile Folder
The Profile Cache and Optimized Searching
Color Management Modules
Setting a Preferred CMM
Rendering Intents
When Color Matching Occurs
General Purpose Color-Matching Functions
QuickDraw-Specific Color-Matching Functions
Converting Between Color Spaces
Monitor Calibration and Profiles
Setting a Profile for Each Monitor
Calibration
Video Card Gamma
Scripting Support
Scriptable Properties
Scriptable Operations
Extending the Scripting Framework
Sample Scripts
Multiprocessor Support
When ColorSync Uses Multiple Processors
Efficiency of ColorSync's Multiprocessor Support
QuickDraw GX and the ColorSync Manager
How the ColorSync Manager Uses Memory
What Users Can Do With ColorSync-Supportive Applications
Display Matching
Gamut Checking
Soft Proofing
Device Link Profiles
Calibration
Chapter 3
Developing ColorSync-Supportive Applications
About ColorSync Application Development
About the ColorSync Manager Programming Interface
What Should a ColorSync-Supportive Application Do?
At a Minimum
Storing and Handling Profiles
How the ColorSync Manager Selects a CMM
Selecting a CMM by the Arbitration Algorithm
Developing Your ColorSync-Supportive Application
Determining If the ColorSync Manager Is Available
Providing Minimal ColorSync Support
Obtaining Profile References
Opening a Profile and Obtaining a Reference to It
Reference Counts for Profile References
Poor Man's Exception Handling
Identifying the Current System Profile
Getting the Profile for the Main Display
Matching to Displays Using QuickDraw-Specific Operations
Matching Colors in a Picture Containing an Embedded Information
More on Embedded Information
Matching Colors as a User Draws a Picture
Creating a Color World to Use With the General Purpose Functions
Matching Colors Using the General Purpose Functions
Matching the Colors of a Pixel Map to the Display's Color Gamut
Matching the Colors of a Bitmap Image to the Display's Color Gamut
Embedding Profiles and Profile Identifiers
Embedded Profile Format
Embedding Different Profile Versions
The NCMUseProfileComment Function
Extracting Profiles Embedded in Pictures
Counting the Profiles in the PICT File
Extracting a Profile
Performing Optimized Profile Searching
An Iteration Function for Profile Searching With ColorSync 2.5
A Filter Function for Profile Searching Prior to ColorSync 2.5
A Compatible Function for Optimized Profile Searching
Searching for Specific Profiles Prior to ColorSync 2.5
Searching for a Profile That Matches a Profile Identifier
Checking Colors Against a Destination Device's Gamut
Creating and Using Device Link Profiles
Considerations
Providing Soft Proofs
Calibrating a Device
Accessing a Resource-Based Profile With a Procedure
Defining a Data Structure for a Resource-Based Profile
Setting Up a Location Structure for Procedure Access to a Resource-Based Profile
Disposing of a Resource-Based Profile Access Structure
Responding to a Procedure-Based Profile Command
Handling the Begin Access Command
Handling the Create New Access Command
Handling the Open Read Access Command
Handling the Open Write Access Command
Handling the Read Access Command
Handling the Write Access Command
Handling the Close Access Command
Handling the Abort Write Access Command
Handling the End Access Command
Summary of the ColorSync Manager
Functions
Data Structures
Constants
Chapter 4
Developing ColorSync-Supportive Device Drivers
About ColorSync-Supportive Device Driver Development
Devices and Their Profiles
The Profile Format and Its Cross-Platform Use
ColorSync Profile Format Version Numbers
Storing and Handling Device Profiles
How a Device Driver Uses Profiles
Devices and Color Management Modules
Providing ColorSync-Supportive Device Drivers
Providing Minimum ColorSync Support
Providing More Extensive ColorSync Support
Developing Your ColorSync-Supportive Device Driver
Determining If the ColorSync Manager Is Available
Interacting With the User
Setting a User-Selected Rendering Intent
Setting a User-Selected Color-Matching Quality Flag
Color Matching an Image to Be Printed
Chapter 5
ColorSync Reference for Applications and Drivers
Gestalt Selector Codes for the ColorSync Manager
Constants for ColorSync Manager Gestalt Selectors and Responses
Older ColorSync Gestalt Selectors
Functions for the ColorSync Manager
Accessing Profiles
Accessing Profile Elements
Accessing Named Color Profile Values
Matching Colors Using General Purpose Functions
Matching Colors Using QuickDraw-Specific Functions
Embedding Profile Information in Pictures
Getting the Preferred CMM
Getting and Setting the System Profile File
Getting and Setting Default Profiles by Color Space
Getting and Setting Monitor Profiles by AVID
Locating the ColorSync Profiles Folder
Profile Searching
Searching for Profiles With ColorSync 2.5
Searching for Profiles Prior to ColorSync 2.5
Searching for a Profile by Profile Identifier
Converting Between Color Spaces
Color-Matching With PostScript Devices
Converting 2.x Profiles to 1.0 Format
Application-Defined Functions for the ColorSync Manager
Data Types for the ColorSync Manager
Date and Time
Profile Header
Profile Reference
Profile Identifier
Profile Location
Cached Profile Searching
Non-Cached Profile Searching
Color Values
Bitmap Information
Color Matching Reference
Color Worlds
Video Card Gamma
Color Matching While Printing
Color Rendering Dictionary Virtual Memory Size
Constants for the ColorSync Manager
Profile Location Type
Profile Access Procedure Operation Codes
Profile Class
Signature of ColorSync's Default Color Management Module
Commands for Caller-Supplied ColorSync Data Transfer Functions
Constants for PostScript Data Formats
Picture Comments
Picture Comment Kinds for Profiles and Color Matching
Picture Comment Selectors for Embedding Profile Information
Constants for Embedding Profiles and Profile Identifiers
Color Space Constants
Color Space Signatures
Color Packing for Color Spaces
Abstract Color Space Constants
Color Space Constants With Packing Formats
ColorSync Flag Constants
Flag Mask Definitions for Version 2.x Profiles
Quality Flag Values for Version 2.x Profiles
Device Attribute Values for Version 2.x Profiles
Rendering Intent Values for Version 2.x Profiles
Video Card Gamma Constants
Video Card Gamma Tag
Video Card Gamma Tag Type
Video Card Gamma Storage Type
PrGeneral Function Operation Codes
Element Tags and Signatures for Version 1.0 Profiles
Result Codes for the ColorSync Manager
Chapter 6
Developing Color Management Modules
About Color Management Modules
Creating a Color Management Module
Creating a Component Resource for a CMM
The Component Resource
The Extended Component Resource
How Your CMM Is Called by the Component Manager
Required Component Manager Request Codes
Required ColorSync Manager Request Codes
Optional ColorSync Manager Request Codes
Handling Request Codes
Responding to Required Component Manager Request Codes
Establishing the Environment for a New Component Instance
Releasing Private Storage and Closing the Component Instance
Determining Whether Your CMM Supports a Request
Providing Your CMM Version Number
Responding to Required ColorSync Manager Request Codes
Initializing the Current Component Instance for a Two-Profile Session
Matching a List of Colors to the Destination Profile's Color Space
Checking a List of Colors
Responding to ColorSync Manager Optional Request Codes
Validating That a Profile Meets the Base Content Requirements
Matching the Colors of a Bitmap
Checking the Colors of a Bitmap
Matching the Colors of a Pixel Map Image
Checking the Colors of a Pixel Map Image
Initializing the Component Instance for a Session Using Concatenated Profiles
Creating a Device Link Profile and Opening a Reference to It
Obtaining PostScript-Related Data From a Profile
Obtaining the Size of the Color Rendering Dictionary for PostScript Printers
Flattening a Profile for Embedding in a Graphics File
Unflattening a Profile
Supplying Named Color Space Information
Summary of the Color Management Modules
Functions
Constants
Chapter 7
ColorSync Reference for Color Management Modules
Required CMM-Defined Functions
Optional CMM-Defined Functions
Constants
Color Management Module Component Interface
Required Request Codes
Optional Request Codes
Chapter 8
Version and Compatibility Information
ColorSync Version Information
Gestalt, Shared Library, and CMM Version Information
CPU and System Requirements
ColorSync Header Files
ColorSync Manager 2.x Backward Compatibility
ColorSync 2.1 Support in Version 2.5
ColorSync 2.0 Support in Version 2.1
ColorSync Manager 1.0 Backward Compatibility
ColorSync 1.0 Profile Support
ColorSync 1.0 Profiles and Version 2.x Profiles
How ColorSync 1.0 Profiles and Version 2.x Profiles Differ
CMMs and Mixed Profiles
Converting a 2.x Profile to the 1.0 Format
Using Newer Versions of the ColorSync Manager With ColorSync 1.0 Profiles
ColorSync Manager 2.x Functions Not Supported for ColorSync 1.0 Profiles
Using ColorSync 1.0 Profiles With Newer Versions of the ColorSync Manager
ColorSync 1.0 Functions With Parallel 2.x Counterparts
Chapter 9
What's New
New Features in ColorSync Manager Version 2.5
New Profile Folder Location
Optimized Profile Searching
Monitor Calibration Framework and Per/Monitor Profiles
Scripting Support
Multiprocessor Support
Sixteen-bit Channel Support
Flexibility in Choosing CMMs and Default Profiles
Additional Features
New and Revised Functions, Data Types, and Constants
New and Revised Code Listings
New Features in ColorSync Manager Version 2.1
Other Color Documentation
Glossary
© 1988-1999 Apple Computer, Inc. (Last Updated 20 Jan 99)