Package org.apache.poi.hslf.usermodel
Class HSLFPictureData
java.lang.Object
org.apache.poi.hslf.usermodel.HSLFPictureData
- All Implemented Interfaces:
PictureData
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final int
Size of the image checksum calculated using MD5 algorithm. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic HSLFPictureData
Create an instance ofPictureData
by type.byte[]
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.final String
Returns content type (mime type) of this picture.byte[]
Return 24 byte header which preceeds the actual picture data.Return the original image dimensions in pixelsint
getIndex()
int
File offset in the 'Pictures' streambyte[]
Returns the raw binary data of this Picture excluding the first 8 bytes which hold image signature and size of the image data.protected abstract int
Blip signature.byte[]
getUID()
Returns 16-byte checksum of this pictureprotected int
The instance type/signatures defines if one or two UID instances will be includedvoid
setIndex
(int index) void
setOffset
(int offset) Set offset of this picture in the 'Pictures' stream.void
setRawData
(byte[] data) abstract void
setSignature
(int signature) protected void
setUIDInstanceCount
(int uidInstanceCount) The instance type/signatures defines if one or two UID instances will be includedvoid
write
(OutputStream out) Write this picture intoOutputStream
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.poi.sl.usermodel.PictureData
getData, getImageDimension, getType, setData
-
Field Details
-
CHECKSUM_SIZE
protected static final int CHECKSUM_SIZESize of the image checksum calculated using MD5 algorithm.- See Also:
-
-
Constructor Details
-
HSLFPictureData
public HSLFPictureData()
-
-
Method Details
-
getSignature
protected abstract int getSignature()Blip signature. -
setSignature
public abstract void setSignature(int signature) -
getUIDInstanceCount
protected int getUIDInstanceCount()The instance type/signatures defines if one or two UID instances will be included -
setUIDInstanceCount
protected void setUIDInstanceCount(int uidInstanceCount) The instance type/signatures defines if one or two UID instances will be included- Parameters:
uidInstanceCount
- the number of uid sequences
-
getRawData
public byte[] getRawData()Returns the raw binary data of this Picture excluding the first 8 bytes which hold image signature and size of the image data.- Returns:
- picture data
-
setRawData
public void setRawData(byte[] data) -
getOffset
public int getOffset()File offset in the 'Pictures' stream- Returns:
- offset in the 'Pictures' stream
-
setOffset
public void setOffset(int offset) 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:PictureData
Gets the checksum - the checksum can be of various length - mostly it's 8 (XSLF) or 16 (HSLF) bytes long.- Specified by:
getChecksum
in interfacePictureData
- Returns:
- the checksum
-
getChecksum
public static byte[] getChecksum(byte[] data) Compute 16-byte checksum of this picture using MD5 algorithm. -
write
Write this picture intoOutputStream
- Throws:
IOException
-
create
Create an instance ofPictureData
by type.- Parameters:
type
- type of the picture data. Must be one of the static constants defined in thePicture
class.
- Returns:
- concrete instance of
PictureData
-
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 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
-
getContentType
Description copied from interface:PictureData
Returns content type (mime type) of this picture.- Specified by:
getContentType
in interfacePictureData
- Returns:
- content type of this picture.
-
getImageDimensionInPixels
Description copied from interface:PictureData
Return the original image dimensions in pixels- Specified by:
getImageDimensionInPixels
in interfacePictureData
- See Also:
-