Package org.apache.poi.hslf.usermodel
Class HSLFPictureData
- java.lang.Object
-
- org.apache.poi.hslf.usermodel.HSLFPictureData
-
- All Implemented Interfaces:
GenericRecord,PictureData
public abstract class HSLFPictureData extends java.lang.Object implements PictureData, GenericRecord
A class that represents image data contained in a slide show.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.PictureData
PictureData.PictureType
-
-
Constructor Summary
Constructors Constructor Description HSLFPictureData()Deprecated.UseHSLFSlideShow.addPicture(byte[], org.apache.poi.sl.usermodel.PictureData.PictureType)or one of its overloads to create newHSLFPictureData.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static HSLFPictureDatacreate(PictureData.PictureType type)Deprecated.UseHSLFSlideShow.addPicture(byte[], org.apache.poi.sl.usermodel.PictureData.PictureType)or one of its overloads to create newHSLFPictureData.byte[]getChecksum()Gets the checksum - the checksum can be of various length - mostly it's 8 (XSLF) or 16 (HSLF) bytes long.static byte[]getChecksum(byte[] data)Compute 16-byte checksum of this picture using MD5 algorithm.java.lang.StringgetContentType()Returns content type (mime type) of this picture.java.util.Map<java.lang.String,java.util.function.Supplier<?>>getGenericProperties()byte[]getHeader()Return 24 byte header which preceeds the actual picture data.java.awt.DimensiongetImageDimensionInPixels()Return the original image dimensions in pixelsintgetIndex()Returns the 1-based index of this picture.intgetOffset()File offset in the 'Pictures' streambyte[]getRawData()Returns the formatted, binary data of this picture excluding thepreamblebytes.byte[]getUID()Returns 16-byte checksum of this picturevoidsetData(byte[] data)Sets the binary picture datavoidsetIndex(int index)voidsetOffset(int offset)Deprecated.This function was only intended for POI internal use.voidsetRawData(byte[] data)Deprecated.Set image data usingsetData(byte[]).abstract voidsetSignature(int signature)voidwrite(java.io.OutputStream out)Write this picture intoOutputStream-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren, getGenericRecordType
-
Methods inherited from interface org.apache.poi.sl.usermodel.PictureData
getData, getImageDimension, getType
-
-
-
-
Constructor Detail
-
HSLFPictureData
@Deprecated @Removal(version="5.3") public HSLFPictureData()
Deprecated.UseHSLFSlideShow.addPicture(byte[], org.apache.poi.sl.usermodel.PictureData.PictureType)or one of its overloads to create newHSLFPictureData. This API led to detachedHSLFPictureDatainstances (See Bugzilla 46122) and prevented adding additional functionality.
-
-
Method Detail
-
setSignature
public abstract void setSignature(int signature)
-
getRawData
public byte[] getRawData()
Returns the formatted, binary data of this picture excluding thepreamblebytes.Primarily intended for internal POI use. Use
PictureData.getData()to retrieve the picture represented by this object.- Returns:
- Picture data formatted for the HSLF format.
- See Also:
PictureData.getData(),formatImageForSlideshow(byte[])
-
setRawData
@Deprecated @Removal(version="5.3") public void setRawData(byte[] data)
Deprecated.Set image data usingsetData(byte[]).Sets the formatted data for this picture.Primarily intended for internal POI use. Use
setData(byte[])to change the picture represented by this object.- Parameters:
data- Picture data formatted for the HSLF format. Excludes thepreamble.- See Also:
setData(byte[]),formatImageForSlideshow(byte[])
-
getOffset
public int getOffset()
File offset in the 'Pictures' stream- Returns:
- offset in the 'Pictures' stream
-
setOffset
@Deprecated @Removal(version="5.3") public void setOffset(int offset)
Deprecated.This function was only intended for POI internal use. If you have a use case you're concerned about, please open an issue in the POI issue tracker.Set offset of this picture in the 'Pictures' stream. We need to set it when a new picture is created.- Parameters:
offset- in the 'Pictures' stream
-
getUID
public byte[] getUID()
Returns 16-byte checksum of this picture
-
getChecksum
public byte[] getChecksum()
Description copied from interface:PictureDataGets the checksum - the checksum can be of various length - mostly it's 8 (XSLF) or 16 (HSLF) bytes long.- Specified by:
getChecksumin interfacePictureData- Returns:
- the checksum
-
getChecksum
public static byte[] getChecksum(byte[] data)
Compute 16-byte checksum of this picture using MD5 algorithm.
-
write
public void write(java.io.OutputStream out) throws java.io.IOExceptionWrite this picture intoOutputStream- Throws:
java.io.IOException
-
create
@Deprecated @Removal(version="5.3") public static HSLFPictureData create(PictureData.PictureType type)
Deprecated.UseHSLFSlideShow.addPicture(byte[], org.apache.poi.sl.usermodel.PictureData.PictureType)or one of its overloads to create newHSLFPictureData. This API led to detachedHSLFPictureDatainstances (See Bugzilla 46122) and prevented adding additional functionality.Create an instance ofHSLFPictureDataby type.- Parameters:
type- type of picture.- Returns:
- concrete instance of
HSLFPictureData.
-
getHeader
public byte[] getHeader()
Return 24 byte header which preceeds the actual picture data.The header consists of 2-byte signature, 2-byte type, 4-byte image size and 16-byte checksum of the image data.
- Returns:
- the 24 byte header which preceeds the actual picture data.
-
getIndex
public int getIndex()
Returns the 1-based index of this picture.- Returns:
- the 1-based index of this pictures within the pictures stream
-
setIndex
public void setIndex(int index)
- Parameters:
index- sets the 1-based index of this pictures within the pictures stream
-
setData
public final void setData(byte[] data) throws java.io.IOExceptionDescription copied from interface:PictureDataSets the binary picture dataThe format of the data must match the format of
PictureData.getType(). Failure to match the picture data may result in data loss.- Specified by:
setDatain interfacePictureData- Parameters:
data- picture data- Throws:
java.io.IOException
-
getContentType
public final java.lang.String getContentType()
Description copied from interface:PictureDataReturns content type (mime type) of this picture.- Specified by:
getContentTypein interfacePictureData- Returns:
- content type of this picture.
-
getImageDimensionInPixels
public java.awt.Dimension getImageDimensionInPixels()
Description copied from interface:PictureDataReturn the original image dimensions in pixels- Specified by:
getImageDimensionInPixelsin interfacePictureData- See Also:
PictureData.getImageDimension()
-
getGenericProperties
public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
- Specified by:
getGenericPropertiesin interfaceGenericRecord
-
-