|
| 以 PDF 格式下载本书
Preface
- The KCMS CMM Reference Manual provides detailed descriptions of the Kodak Color Management System (KCMS(TM)) foundation library. This library is a graphics porting interface (GPI) implemented in C++ for creating KCMS color modules. A set of C++ classes are supplied that can be derived from and extended. You can add attributes to the current list, incorporate new color processing technology, or support alternate profile formats.
- Use this book with the KCMS CMM Developer's Guide which provides an an in-depth view of the KCMS framework and how the API works with this GPI, how to derive from each C++ class, how to create a dynamically loadable CMM, and how to add profiles to the system.
Who Should Use This Book
- Use this book if you are interested in:
-
- Writing your own color management module (CMM)
- Creating your own profile format
- Adding attributes to the ICC profile format
- Overriding various class methods
Before You Read This Book
- You should be familiar with the Kodak Color Management System (KCMS) API which is part of the SDK; see the KCMS Application Developer's Guide.
- You should also have an understanding of C++ and Solaris dynamic loading technology. Solaris dynamic loading is discussed in the Linker and Libraries Guide and in the following manual pages in man Pages(1): User Commands and man Pages(3): Library Routines:
-
-
ld(1)
-
dlopen(3)
-
dlclose(3)
-
dlerror(3)
-
dlsym(3)
-
OWconfigInit(3)
-
OWconfigGetAttribute(3)
-
OWconfigFreeAttribute(3)
-
OWconfigClose(3)
- A basic understanding of color science is also assumed; references are included in the Bibliography of the KCMS Application Developer's Guide.
- See the on-line SUNWrdm packages for information on bugs and issues, engineering news, and patches. For Solaris installation bugs and for late-breaking bugs, news, and patch information, see the Installation Instructions for Solaris 2.6 (SPARC Platform Edition) and the Installation Instructions for Solaris 2.6 (Intel Platform Edition) manuals.
- For SPARC systems, consult the updates your hardware manufacturer may have provided also.
How This Book Is Organized
-
Note - Each chapter in this book describes relevant classes in the KCMS architecture. Although the DDK header files may include additional information (private and methods and other internal interfaces) for each class, be aware that the chapters in this book present all the methods you need to be concerned about to write your CMM.
- The chapters are organized as follows:
-
Chapter 1, "KcsShareable Class," describes the KcsShareable class.
-
Chapter 2, "I/O Classes," describes these I/O classes: KcsIO, KcsFile, KcsMemoryBlock, KcsSolarisFile, and KcsXWindow.
-
Chapter 3, "KcsChunkSet Class," describes in detail the KcsChunkSet class.
-
Chapter 4, "KcsLoadable Class," describes in detail the KcsLoadable class.
-
Chapter 5, "KcsProfile Class," describes in detail the KcsProfile class.
-
Chapter 6, "KcsProfileFormat Class," describes in detail the KcsProfileFormat class.
-
Chapter 7, "KcsTags Class," describes in detail the KcsAttributeSet class.
-
Chapter 8, "KcsXform Class," describes the member functions in the KcsXform class.
-
Chapter 9, "KcsXformSeq Class," describes the member functions in the KcsXformSeq class.
-
Chapter 10, "KcsStatus Class," describes in the KcsStatus class.
Related Books
- The following is a list of recommended books that can help you accomplish the tasks described in this book:
-
-
KCMS Application Developer's Guide
-
ICC Profile Format Specification (located on-line in /opt/SUNWsdk/kcms/doc/icc.ps). For the most current version of the ICC specification, see the web site at http://www.color.org.
Ordering Sun Documents
- The SunDocsSM program provides more than 250 manuals from Sun Microsystems, Inc. If you live in the United States, Canada, Europe, or Japan, you can purchase documentation sets or individual manuals using this program.
- For a list of documents and how to order them, see the catalog section of the SunExpress(TM) Internet site at http://www.sun.com/sunexpress.
-
Note - The term "x86" refers to the Intel 8086 family of microprocessor chips, including Pentium and Pentium Pro processors and compatible microprocessor chips made by AMD and Cyrix. In this document, the term "x86" refers to the overall platform architecture, whereas "Intel Platform Edition" appears in the product name.
What Typographic Changes and Symbols Mean
- The following table describes the type changes and symbols used in this book:.
-
Table P-1
| Typeface or Symbol | Meaning | Example |
| AaBbCc123 | The names of commands, files, and directories; on-screen computer output | Edit your .login file. Use ls -a to list all files. system% You have mail. |
| AaBbCc123 | What you type, contrasted with on-screen computer output |
|
| AaBbCc123 | Command-line placeholder: replace with a real name or value | To delete a file, type rm filename. |
| AaBbCc123 | Book titles, new words or terms, or words to be emphasized | Read Chapter 6 in User's Guide. These are called class options. You must be root to do this. |
Shell Prompts in Command Examples
- The following table shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.
-
Table P-2
| Shell | Prompt |
| C shell prompt | machine_name% |
| C shell superuser prompt | machine_name# |
| Bourne shell and Korn shell prompt | $ |
| Bourne shell and Korn shell superuser prompt | # |
KcsId Naming Convention
- Each class contains a KcsId that uniquely identifies that class. Most KcsIds are defined in the kcsids.h header file. The naming conventions shown in the following table are used for the KcsId for each class in the KCMS framework. The #defines are helpful in switch statements.
-
Table P-3 KcsId
| Item | Convention | Examples |
| const | Kcs<Base Class Id><Derived Class Id>Id | KcsSharIOId |
| #define | Kcs<Base Class Id><Derived Class Id>Idd | KcsSharIOIdd |
Equivalent Terms In This Book
- For historic reasons, this book uses several equivalent Kodak and International Color Consortium (ICC) terms. The terms evolved at different times. Development of the ICC specification introduced new ICC terms with meanings the same as (or similar to) already existing Kodak terms.
- You should be familiar with the terms listed in the table below, as you will encounter them in the ICC specification and KCMS color management documentation, as well as in the KCMS header files and example programs. The terms are defined as they are introduced in this book..
-
Table P-4
| Kodak Term | ICC Term |
| attribute | tag |
| device color profile (DCP) | input, display, or output profile |
| effects color profile (ECP) | abstract profile |
| complete color profile (CCP) | device link profile |
| profile format Id or magic number | profile file signature |
| reference color space (RCS) | profile connection space (PCS) |
-
Note - The text in this book uses the term attribute instead of tag, (but code examples and header files may use tag for the historic reasons previously mentioned.
|
|