org.apache.fop.pdf

Class PDFColor

Implemented Interfaces:
PDFWritable

public class PDFColor
extends PDFPathPaint

PDF Color object. This is used to output color to a PDF content stream.

Field Summary

Fields inherited from class org.apache.fop.pdf.PDFPathPaint

colorSpace

Fields inherited from class org.apache.fop.pdf.PDFObject

DATE_FORMAT, log

Constructor Summary

PDFColor(double theRed, double theGreen, double theBlue)
Create a PDF color with double values ranging from 0 to 1
PDFColor(double theCyan, double theMagenta, double theYellow, double theBlack)
Create a PDF color with CMYK values.
PDFColor(int theRed, int theGreen, int theBlue)
Create a PDF color with int values ranging from 0 to 255
PDFColor(java.awt.Color col)
Create a PDF color from a java.awt.Color object.
PDFColor(PDFDocument pdfDoc, Color col)
Create PDFColor for the given document and based on the java.awt.Color object In case the java.awt.Color is an instance of the ColorExt class a PDFICCStream is added to the PDFDocument that is being created

Method Summary

double
black()
Get the black component.
double
blue()
Get the blue component.
int
blue255()
Get the blue integer component.
protected void
convertCMYKtoGRAY()
Convert the color from CMYK to Gray.
protected void
convertCMYKtoRGB()
Convert the color from CMYK to RGB.
protected void
convertGRAYtoCMYK()
Convert the color from Gray to CMYK.
protected void
convertGRAYtoRGB()
Convert the color from Gray to RGB.
protected void
convertRGBtoCMYK()
Convert the color from RGB to CMYK.
protected void
convertRGBtoGRAY()
Convert the color from RGB to Gray.
double
cyan()
Get the cyan component.
boolean
equals(Object obj)
Check for equality of color with another object.
String
getColorSpaceOut(boolean fillNotStroke)
Get the PDF output string for this color.
List
getVector()
Return a vector representation of the color in the appropriate colorspace.
double
green()
Get the green component.
int
green255()
Get the green integer component.
double
magenta()
Get the magenta component.
double
red()
Get the red component.
int
red255()
Get the red integer component.
void
setColorSpace(int theColorSpace)
Set the color space for this color.
byte[]
toPDF()
Create pdf.
double
yellow()
Get the yellow component.

Methods inherited from class org.apache.fop.pdf.PDFPathPaint

getColorSpace, getColorSpaceOut, setColorSpace

Methods inherited from class org.apache.fop.pdf.PDFObject

encode, encodeBinaryToHexString, encodeString, encodeText, formatDateTime, formatDateTime, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, output, outputInline, referencePDF, setDocument, setObjectNumber, setParent, toPDF, toPDFString

Constructor Details

PDFColor

public PDFColor(double theRed,
                double theGreen,
                double theBlue)
Create a PDF color with double values ranging from 0 to 1
Parameters:
theRed - the red double value
theGreen - the green double value
theBlue - the blue double value

PDFColor

public PDFColor(double theCyan,
                double theMagenta,
                double theYellow,
                double theBlack)
Create a PDF color with CMYK values.
Parameters:
theCyan - the cyan value
theMagenta - the magenta value
theYellow - the yellow value
theBlack - the black value

PDFColor

public PDFColor(int theRed,
                int theGreen,
                int theBlue)
Create a PDF color with int values ranging from 0 to 255
Parameters:
theRed - the red integer value
theGreen - the green integer value
theBlue - the blue integer value

PDFColor

public PDFColor(java.awt.Color col)
Create a PDF color from a java.awt.Color object. Different Color objects are handled differently. Cases recognized are. 1. CMYK color 2. ColorExt color 3. 'Normal' java.awt.Color (RGB case assumed)
Parameters:
col - the java.awt.Color object for which to create a PDFColor object

PDFColor

public PDFColor(PDFDocument pdfDoc,
                Color col)
Create PDFColor for the given document and based on the java.awt.Color object In case the java.awt.Color is an instance of the ColorExt class a PDFICCStream is added to the PDFDocument that is being created
Parameters:
pdfDoc - PDFDocument that is being created
col - Color object from which to create this PDFColor

Method Details

black

public double black()
Get the black component.
Returns:
the black double value

blue

public double blue()
Get the blue component.
Returns:
the blue double value

blue255

public int blue255()
Get the blue integer component.
Returns:
the blue integer value

convertCMYKtoGRAY

protected void convertCMYKtoGRAY()
Convert the color from CMYK to Gray.

convertCMYKtoRGB

protected void convertCMYKtoRGB()
Convert the color from CMYK to RGB.

convertGRAYtoCMYK

protected void convertGRAYtoCMYK()
Convert the color from Gray to CMYK.

convertGRAYtoRGB

protected void convertGRAYtoRGB()
Convert the color from Gray to RGB.

convertRGBtoCMYK

protected void convertRGBtoCMYK()
Convert the color from RGB to CMYK.

convertRGBtoGRAY

protected void convertRGBtoGRAY()
Convert the color from RGB to Gray.

cyan

public double cyan()
Get the cyan component.
Returns:
the cyan double value

equals

public boolean equals(Object obj)
Check for equality of color with another object.
Parameters:
obj - the object to compare
Returns:
true if colors are equal

getColorSpaceOut

public String getColorSpaceOut(boolean fillNotStroke)
Get the PDF output string for this color. This returns the string to be inserted into PDF for setting the current color.
Overrides:
getColorSpaceOut in interface PDFPathPaint
Parameters:
fillNotStroke - whether to return fill or stroke command
Returns:
the PDF string for setting the fill/stroke color

getVector

public List getVector()
Return a vector representation of the color in the appropriate colorspace.
Returns:
a list containing the Double values of the color

green

public double green()
Get the green component.
Returns:
the green double value

green255

public int green255()
Get the green integer component.
Returns:
the green integer value

magenta

public double magenta()
Get the magenta component.
Returns:
the magenta double value

red

public double red()
Get the red component.
Returns:
the red double value

red255

public int red255()
Get the red integer component.
Returns:
the red integer value

setColorSpace

public void setColorSpace(int theColorSpace)
Set the color space for this color. If the new color space is different the values are converted to the new color space.
Overrides:
setColorSpace in interface PDFPathPaint
Parameters:
theColorSpace - the new color space

toPDF

public byte[] toPDF()
Create pdf. Not used for this object.
Overrides:
toPDF in interface PDFObject
Returns:
the bytes for the pdf

yellow

public double yellow()
Get the yellow component.
Returns:
the yellow double value

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.