Coloratura  Programmer's Guide

Document Number: 007-3442-001

Front Matter

| List of Figures |

Table of Contents

About This Guide
What This Guide Contains
Related Materials
Conventions Used in This Guide

1. Color Management
The Color Management Problem
How the Coloratura Color Management System Helps
Profiles: Device-Independent Color Spaces
Transforms: Color Processing from Profiles
Color Manipulation Modules: Algorithms from Transforms
Schematics of Program Architecture and Data Flow
Pseudocode Example for a Color Conversion
Example Outline of a Color Conversion Program

2. Using the Coloratura CMS Programming Environment
Compiling With the Coloratura CMS
Managing Memory
Error Messages
Establishing Program Access to the Coloratura CMS
Coloratura Commands
Sample Code and Test Profile

3. Profile Management
Identifying a Profile
Opening, Closing, and Deleting Profiles
Creating New Profiles, Getting and Setting Headers, and Saving Edits
Importing and Exporting Embedded Profiles

4. Tag Management
Getting Tag Data Sequentially: Tag Iteration
Getting Tag Data Directly: cmsGetTag()
Setting Tag Data: cmsSetTag()
Deleting Tag Data from a Profile: cmsDeleteTag()
Freeing Tag Data Storage: cmsFreeTagValue()

5. Transform Management
Features of Transform Management Tools
Transforming Pixel Data
Checking Gamut Mapping

6. Color Manipulation Module Management
Finding CMMs
Getting Information About a CMM

A. Summary of Functions and Data Structures
Coloratura Access Functions
Profile Functions
Tag Functions
Transform Functions
CMM Functions
Data Structures

B. Listing of the Application cocoifl
Code for Loading Header Files
Code for Declaring Variables
Code for Opening the Coloratura CMS, the Input Image File, and the Output Profile
Code for Preparing the Output Pixel Buffer and Open an Output Image File
Code for Selecting an Input Profile
Code for Creating a Transform and Initializing Buffers
Code for Embedding the Output Profile in the Output Image File
Code for Transforming Pixel Data and Cleaning Up