ICCBasedColorSpace Class Documentation
classICCBasedColorSpace : ColorSpaceNamespace:datalogics_interface
- Inherits from:
ColorSpace
Detailed Description
The International Color Consortium (ICC) developed the ICC color space in 1993 to serve as a universal standard for for printing or presenting content with digital devices, and across all operating systems and platforms.
The ICC color standard applies regardless the hardware or software involved, and is used to make sure that color images and text appear properly on a wide variety of platforms.
Uses types
Constructor & Destructor Documentation
ICCBasedColorSpace
ICCBasedColorSpace(const PDFStream &icc_stream)Parameters
icc_stream: const PDFStream &stream containing the ICC profile
Create an ICC-based color stream.
ICCBasedColorSpace
ICCBasedColorSpace(const PDFStream &icc_stream, intnum_components)Parameters
icc_stream: const PDFStream &stream containing the ICC profile
num_components: intThe number of components (1, 3, or 4)
Create an ICC-based color stream.
Member Function Documentation
get_alternate
std::unique_ptr< ColorSpace >get_alternate()Returns:
std::unique_ptr< ColorSpace >An alternate color space to be used in case the one specified in the stream data is not supported (for example, by applications designed for earlier versions of PDF). The alternate space may be any valid color space (except a Pattern color space) that has the number of components specified by N. If this entry is omitted and the application does not understand the ICC profile data, the color space used is DeviceGray, DeviceRGB, or DeviceCMYK, depending on whether the value of N is 1, 3, or 4, respectively.
get_name
std::stringget_name()Returns:
std::stringThe name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased.
get_num_components
intget_num_components()Returns:
The number of color components.For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4.
get_pdf_object
std::unique_ptr< PDFObject >get_pdf_object()Returns:
The PDFObject associated with the color space.Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray.
get_range
std::vector< double >get_range()Returns:
std::vector< double >An array of 2 * NumComponents numbers [ min0 max0 min1 max1 ... ] specifying the minimum and maximum valid values of the corresponding color components. These values must match the information in the ICC profile. Default value: [ 0.0 1.0 0.0 1.0 ... ]
get_stream
std::unique_ptr< PDFStream >get_stream()Returns:
std::unique_ptr< PDFStream >The PDFStream containing the ICC-based data and other attributes.
operator==
booloperator==(const ColorSpace &other)Parameters
other: const ColorSpace &The ColorSpace to compare against.
Returns:
true if the two color spaces are equal, false otherwise.This works best for named color spaces.
More complex color spaces (such as ICCBased) do not support equality testing and will always return false.
set_alternate
voidset_alternate(ColorSpace &alternate)Parameters
alternate: ColorSpace &an alternate color space to be used in case the one specified in the stream data is not supported (for example, by ap... value of N is 1, 3, or 4, respectively.
Returns:
voidAn alternate color space to be used in case the one specified in the stream data is not supported (for example, by applications designed for earlier versions of PDF). The alternate space may be any valid color space (except a Pattern color space) that has the number of components specified by N. If this entry is omitted and the application does not understand the ICC profile data, the color space used is DeviceGray, DeviceRGB, or DeviceCMYK, depending on whether the
set_range
voidset_range(const std::vector< double > &range)Parameters
range: const std::vector< double > &an array of 2 * NumComponents numbers [ min0 max0 min1 max1 ... ] specifying the minimum and maximum valid values of...
Returns:
voidAn array of 2 * NumComponents numbers [ min0 max0 min1 max1 ... ] specifying the minimum and maximum valid values of the corresponding color components. These values must match the information in the ICC profile. Default value: [ 0.0 1.0 0.0 1.0 ... ]
to_string
std::stringto_string()Returns:
A string describing this ColorSpace.Convert a ColorSpace to a string representation.