Class PSDImageReader
java.lang.Object
javax.imageio.ImageReader
com.twelvemonkeys.imageio.ImageReaderBase
com.twelvemonkeys.imageio.plugins.psd.PSDImageReader
ImageReader for Adobe Photoshop Document (PSD) format.
- Version:
- $Id: PSDImageReader.java,v 1.0 Apr 29, 2008 4:45:52 PM haraldk Exp$
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ICC_ColorSpace(package private) static final booleanprivate PSDHeaderprivate PSDMetadataFields inherited from class ImageReaderBase
imageInputFields inherited from class ImageReader
availableLocales, ignoreMetadata, input, locale, minIndex, originatingProvider, progressListeners, seekForwardOnly, updateListeners, warningListeners, warningLocales -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidconvertToDestinationCS(ColorModel sourceCM, ColorModel destinationCM, WritableRaster raster) private int[]createBandList(int numBands) private static bytedecompose(int pColor, double pAlpha) private voiddecomposeAlpha(ColorModel pModel, DataBuffer pBuffer, int pWidth, int pHeight, int pChannels) private longfindLayerStartPos(int layerIndex) private ColorSpaceintgetHeight(int imageIndex) getImageMetadata(int imageIndex) Default implementation that always returnsnull.getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) getImageTypes(int imageIndex) private intgetLayerHeight(int layerIndex) private intgetLayerWidth(int layerIndex) intgetNumImages(boolean allowSearch) Layer supportintgetNumThumbnails(int imageIndex) getRawImageType(int imageIndex) private ImageTypeSpecifierprivate ImageTypeSpecifiergetRawImageTypeForLayer(int layerIndex) private ImageTypeSpecifiergetRawImageTypeInternal(int imageIndex) Metadata supportintgetThumbnailHeight(int imageIndex, int thumbnailIndex) private PSDThumbnailgetThumbnailResource(int imageIndex, int thumbnailIndex) private List<PSDThumbnail> getThumbnailResources(int imageIndex) intgetThumbnailWidth(int imageIndex, int thumbnailIndex) intgetWidth(int imageIndex) static voidFunctional testingprivate voidprocessImageProgressForChannel(int channel, int channelCount, int y, int height) read(int imageIndex, ImageReadParam param) private voidread16bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, short[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) private voidread1bitChannel(ImageInputStream stream, int channel, DataBuffer data, byte[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) private voidread32bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, int[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) private voidread8bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, byte[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) booleanThumbnail supportprivate voidprivate voidreadImageData(BufferedImage destination, ColorModel pSourceCM, Rectangle pSource, Rectangle pDest, int pXSub, int pYSub, int[][] byteCounts, int compression) private voidreadImageResources(boolean pParseData) private voidreadLayerAndMaskInfo(boolean parseData) private BufferedImagereadLayerData(int layerIndex, ImageReadParam param) private List<PSDLayerInfo> readLayerInfo(int layerCount) private longreadLength(ImageInputStream stream) private longreadLength(ImageInputStream stream, int resId) readThumbnail(int imageIndex, int thumbnailIndex) protected voidResets all member variables.Methods inherited from class ImageReaderBase
assertInput, checkBounds, dispose, fakeAOI, fakeSubsampling, getDestination, hasExplicitDestination, reset, setInput, showItMethods inherited from class ImageReader
abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, canReadRaster, checkReadParamBandSettings, clearAbortRequest, computeRegions, getAspectRatio, getAvailableLocales, getDefaultReadParam, getFormatName, getInput, getLocale, getMinIndex, getOriginatingProvider, getSourceRegion, getStreamMetadata, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, hasThumbnails, isIgnoringMetadata, isImageTiled, isRandomAccessEasy, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readAsRenderedImage, readRaster, readTile, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, setInput, setInput, setLocale
-
Field Details
-
DEBUG
static final boolean DEBUG -
header
-
colorSpace
-
metadata
-
-
Constructor Details
-
PSDImageReader
PSDImageReader(ImageReaderSpi originatingProvider)
-
-
Method Details
-
resetMembers
protected void resetMembers()Description copied from class:ImageReaderBaseResets all member variables. This method is by default invoked from:- Specified by:
resetMembersin classImageReaderBase
-
getWidth
- Specified by:
getWidthin classImageReader- Throws:
IOException
-
getHeight
- Specified by:
getHeightin classImageReader- Throws:
IOException
-
getLayerWidth
- Throws:
IOException
-
getLayerHeight
- Throws:
IOException
-
getRawImageType
- Overrides:
getRawImageTypein classImageReader- Throws:
IOException
-
getRawImageTypeInternal
- Throws:
IOException
-
getRawImageTypeForCompositeLayer
- Throws:
IOException
-
getImageTypes
- Specified by:
getImageTypesin classImageReader- Throws:
IOException
-
getEmbeddedColorSpace
- Throws:
IOException
-
read
- Specified by:
readin classImageReader- Throws:
IOException
-
findLayerStartPos
private long findLayerStartPos(int layerIndex) -
readImageData
private void readImageData(BufferedImage destination, ColorModel pSourceCM, Rectangle pSource, Rectangle pDest, int pXSub, int pYSub, int[][] byteCounts, int compression) throws IOException - Throws:
IOException
-
convertToDestinationCS
private void convertToDestinationCS(ColorModel sourceCM, ColorModel destinationCM, WritableRaster raster) -
createBandList
private int[] createBandList(int numBands) -
processImageProgressForChannel
private void processImageProgressForChannel(int channel, int channelCount, int y, int height) -
read32bitChannel
private void read32bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, int[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) throws IOException - Throws:
IOException
-
read16bitChannel
private void read16bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, short[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) throws IOException - Throws:
IOException
-
read8bitChannel
private void read8bitChannel(ImageInputStream stream, int channel, int channelCount, DataBuffer data, int band, int bandCount, int bandOffset, ColorModel sourceColorModel, byte[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) throws IOException - Throws:
IOException
-
read1bitChannel
private void read1bitChannel(ImageInputStream stream, int channel, DataBuffer data, byte[] rowData, Rectangle sourceRect, Rectangle destRect, int xSub, int ySub, int channelWidth, int channelHeight) throws IOException - Throws:
IOException
-
decomposeAlpha
private void decomposeAlpha(ColorModel pModel, DataBuffer pBuffer, int pWidth, int pHeight, int pChannels) -
decompose
private static byte decompose(int pColor, double pAlpha) -
readHeader
- Throws:
IOException
-
readImageResources
- Throws:
IOException
-
readLayerAndMaskInfo
- Throws:
IOException
-
readLength
- Throws:
IOException
-
readLength
- Throws:
IOException
-
readLayerInfo
- Throws:
IOException
-
readLayerData
- Throws:
IOException
-
getRawImageTypeForLayer
- Throws:
IOException
-
getNumImages
Layer support- Overrides:
getNumImagesin classImageReaderBase- Parameters:
allowSearch- ignored, unless overridden- Returns:
1, unless overridden- Throws:
IOException- never, unless overridden
-
getStreamMetadata
Metadata support- Overrides:
getStreamMetadatain classImageReaderBase- Returns:
null, unless overridden- Throws:
IOException- never, unless overridden.
-
getImageMetadata
Description copied from class:ImageReaderBaseDefault implementation that always returnsnull.- Overrides:
getImageMetadatain classImageReaderBase- Parameters:
imageIndex- ignored, unless overridden- Returns:
null, unless overridden- Throws:
IOException- never, unless overridden.
-
getImageMetadata
public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) throws IOException - Overrides:
getImageMetadatain classImageReader- Throws:
IOException
-
readerSupportsThumbnails
public boolean readerSupportsThumbnails()Thumbnail support- Overrides:
readerSupportsThumbnailsin classImageReader
-
getThumbnailResources
- Throws:
IOException
-
getNumThumbnails
- Overrides:
getNumThumbnailsin classImageReader- Throws:
IOException
-
getThumbnailResource
- Throws:
IOException
-
getThumbnailWidth
- Overrides:
getThumbnailWidthin classImageReader- Throws:
IOException
-
getThumbnailHeight
- Overrides:
getThumbnailHeightin classImageReader- Throws:
IOException
-
readThumbnail
- Overrides:
readThumbnailin classImageReader- Throws:
IOException
-
main
-