java.lang.Object
org.sejda.sambox.pdmodel.graphics.color.PDColorSpace
org.sejda.sambox.pdmodel.graphics.color.PDCIEBasedColorSpace
org.sejda.sambox.pdmodel.graphics.color.PDICCBased
- All Implemented Interfaces:
COSObjectable
ICCBased colour spaces are based on a cross-platform colour profile as defined by the
International Color Consortium (ICC).
- Author:
- Ben Litchfield, John Hewson
-
Field Summary
Fields inherited from class org.sejda.sambox.pdmodel.graphics.color.PDColorSpace
array -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new ICC color space with an empty stream.PDICCBased(COSArray iccArray) Deprecated.This will be private in 3.0. -
Method Summary
Modifier and TypeMethodDescriptionstatic PDICCBasedcreate(COSArray iccArray, PDResources resources) Creates a new ICC color space using the PDF array, optionally using a resource cache.Returns a list of alternate color spaces for non-conforming readers.intReturns the type of the color space in the ICC profile.float[]getDefaultDecode(int bitsPerComponent) Returns the default decode array for this color space.Returns the initial color value for this color space.Returns the metadata stream for this object, or null if there is no metadata stream.getName()Returns the name of the color space.intReturns the number of components in this color spaceGet the underlying ICC profile stream.getRangeForComponent(int n) Returns the range for a certain component number.voidSets the list of alternateColorSpace color spaces.voidsetMetadata(COSStream metadata) Sets the metadata stream that is associated with this color space.voidsetNumberOfComponents(int n) Deprecated.voidsetRangeForComponent(PDRange range, int n) Sets the range for this color space.toRawImage(WritableRaster raster) Returns the image in this colorspace or null.float[]toRGB(float[] value) Returns the RGB equivalent of the given color value.toRGBImage(WritableRaster raster) Returns the (A)RGB equivalent of the given raster.toString()Methods inherited from class org.sejda.sambox.pdmodel.graphics.color.PDColorSpace
create, create, create, getCOSObject, isAllowedCache, toRawImage, toRGBImageAWT
-
Constructor Details
-
PDICCBased
public PDICCBased()Creates a new ICC color space with an empty stream. -
PDICCBased
Deprecated.This will be private in 3.0. Please usecreate(org.sejda.sambox.cos.COSArray, org.sejda.sambox.pdmodel.PDResources)instead, which supports caching.Creates a new ICC color space using the PDF array.- Parameters:
iccArray- the ICC stream object- Throws:
IOException- if there is an error reading the ICC profile or if the parameter is invalid
-
-
Method Details
-
create
Creates a new ICC color space using the PDF array, optionally using a resource cache.- Parameters:
iccArray- the ICC stream object.resources- resources to use as cache, or null for no caching.- Returns:
- an ICC color space.
- Throws:
IOException- if there is an error reading the ICC profile or if the parameter is invalid.
-
getName
Description copied from class:PDColorSpaceReturns the name of the color space.- Specified by:
getNamein classPDColorSpace- Returns:
- the name of the color space
-
getPDStream
Get the underlying ICC profile stream.- Returns:
- the underlying ICC profile stream
-
toRGB
Description copied from class:PDColorSpaceReturns the RGB equivalent of the given color value.- Specified by:
toRGBin classPDColorSpace- Parameters:
value- a color value with component values between 0 and 1- Returns:
- an array of R,G,B value between 0 and 255
- Throws:
IOException- if the color conversion fails
-
toRGBImage
Description copied from class:PDColorSpaceReturns the (A)RGB equivalent of the given raster.- Overrides:
toRGBImagein classPDCIEBasedColorSpace- Parameters:
raster- the source raster- Returns:
- an (A)RGB buffered image
- Throws:
IOException- if the color conversion fails
-
toRawImage
Description copied from class:PDColorSpaceReturns the image in this colorspace or null. No conversion is performed.For special colorspaces like PDSeparation the image is returned in the gray colorspace. For undefined colorspaces like DeviceCMYK/DeviceRGB and DeviceGray null is returned.
You can always fallback to
PDColorSpace.toRGBImage(WritableRaster)if this returns null.- Overrides:
toRawImagein classPDCIEBasedColorSpace- Parameters:
raster- the source raster- Returns:
- an buffered image in this colorspace. Or null if it is not possible to extract that image with the original colorspace without conversion.
- Throws:
IOException
-
getNumberOfComponents
public int getNumberOfComponents()Description copied from class:PDColorSpaceReturns the number of components in this color space- Specified by:
getNumberOfComponentsin classPDColorSpace- Returns:
- the number of components in this color space
-
getDefaultDecode
public float[] getDefaultDecode(int bitsPerComponent) Description copied from class:PDColorSpaceReturns the default decode array for this color space.- Specified by:
getDefaultDecodein classPDColorSpace- Parameters:
bitsPerComponent- the number of bits per component.- Returns:
- the default decode array
-
getInitialColor
Description copied from class:PDColorSpaceReturns the initial color value for this color space.- Specified by:
getInitialColorin classPDColorSpace- Returns:
- the initial color value for this color space
-
getAlternateColorSpace
Returns a list of alternate color spaces for non-conforming readers. WARNING: Do not use the information in a conforming reader.- Returns:
- A list of alternateColorSpace color spaces.
- Throws:
IOException- If there is an error getting the alternateColorSpace color spaces.
-
getRangeForComponent
Returns the range for a certain component number. This will never return null. If it is not present then the range 0..1 will be returned.- Parameters:
n- the component number to get the range for- Returns:
- the range for this component
-
getMetadata
Returns the metadata stream for this object, or null if there is no metadata stream.- Returns:
- the metadata stream, or null if there is none
-
getColorSpaceType
public int getColorSpaceType()Returns the type of the color space in the ICC profile. Will be one ofTYPE_GRAY,TYPE_RGB, orTYPE_CMYK.- Returns:
- an ICC color space type
-
setNumberOfComponents
Deprecated.Sets the number of color components.- Parameters:
n- the number of color components
-
setAlternateColorSpaces
Sets the list of alternateColorSpace color spaces.- Parameters:
list- the list of color space objects
-
setRangeForComponent
Sets the range for this color space.- Parameters:
range- the new range for the a componentn- the component to set the range for
-
setMetadata
Sets the metadata stream that is associated with this color space.- Parameters:
metadata- the new metadata stream
-
toString
- Overrides:
toStringin classPDCIEBasedColorSpace
-