org.apache.poi.xssf.usermodel
Class XSSFPicture

java.lang.Object
  extended by org.apache.poi.xssf.usermodel.XSSFShape
      extended by org.apache.poi.xssf.usermodel.XSSFPicture
All Implemented Interfaces:
Picture

public final class XSSFPicture
extends XSSFShape
implements Picture

Represents a picture shape in a SpreadsheetML drawing.

Author:
Yegor Kozlov

Field Summary
 
Fields inherited from class org.apache.poi.xssf.usermodel.XSSFShape
anchor, drawing, EMU_PER_PIXEL, EMU_PER_POINT, parent, PIXEL_DPI, POINT_DPI
 
Constructor Summary
protected XSSFPicture(XSSFDrawing drawing, org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture ctPicture)
          Construct a new XSSFPicture object.
 
Method Summary
 org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture getCTPicture()
          Return the underlying CTPicture bean that holds all properties for this picture
protected static java.awt.Dimension getImageDimension(PackagePart part, int type)
          Return the dimension of this image
 XSSFPictureData getPictureData()
          Return picture data for this shape
 XSSFClientAnchor getPreferredSize()
          Calculate the preferred size for this picture.
 XSSFClientAnchor getPreferredSize(double scale)
          Calculate the preferred size for this picture.
protected  org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties getShapeProperties()
          Returns xml bean with shape properties.
protected static org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture prototype()
          Returns a prototype that is used to construct new shapes
 void resize()
          Reset the image to the original size.
 void resize(double scale)
          Reset the image to the original size.
protected  void setPictureReference(PackageRelationship rel)
          Link this shape with the picture data
 
Methods inherited from class org.apache.poi.xssf.usermodel.XSSFShape
getAnchor, getDrawing, getParent, isNoFill, setFillColor, setLineStyle, setLineStyleColor, setLineWidth, setNoFill
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSSFPicture

protected XSSFPicture(XSSFDrawing drawing,
                      org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture ctPicture)
Construct a new XSSFPicture object. This constructor is called from XSSFDrawing.createPicture(XSSFClientAnchor, int)

Parameters:
drawing - the XSSFDrawing that owns this picture
Method Detail

prototype

protected static org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture prototype()
Returns a prototype that is used to construct new shapes

Returns:
a prototype that is used to construct new shapes

setPictureReference

protected void setPictureReference(PackageRelationship rel)
Link this shape with the picture data

Parameters:
rel - relationship referring the picture data

getCTPicture

@Internal
public org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTPicture getCTPicture()
Return the underlying CTPicture bean that holds all properties for this picture

Returns:
the underlying CTPicture bean

resize

public void resize()
Reset the image to the original size.

Please note, that this method works correctly only for workbooks with the default font size (Calibri 11pt for .xlsx). If the default font is changed the resized image can be streched vertically or horizontally.

Specified by:
resize in interface Picture

resize

public void resize(double scale)
Reset the image to the original size.

Please note, that this method works correctly only for workbooks with the default font size (Calibri 11pt for .xlsx). If the default font is changed the resized image can be streched vertically or horizontally.

Specified by:
resize in interface Picture
Parameters:
scale - the amount by which image dimensions are multiplied relative to the original size. resize(1.0) sets the original size, resize(0.5) resize to 50% of the original, resize(2.0) resizes to 200% of the original.

getPreferredSize

public XSSFClientAnchor getPreferredSize()
Calculate the preferred size for this picture.

Specified by:
getPreferredSize in interface Picture
Returns:
XSSFClientAnchor with the preferred size for this image

getPreferredSize

public XSSFClientAnchor getPreferredSize(double scale)
Calculate the preferred size for this picture.

Parameters:
scale - the amount by which image dimensions are multiplied relative to the original size.
Returns:
XSSFClientAnchor with the preferred size for this image

getImageDimension

protected static java.awt.Dimension getImageDimension(PackagePart part,
                                                      int type)
Return the dimension of this image

Parameters:
part - the package part holding raw picture data
type - type of the picture: Workbook.PICTURE_TYPE_JPEG, Workbook.PICTURE_TYPE_PNG or Workbook.PICTURE_TYPE_DIB
Returns:
image dimension in pixels

getPictureData

public XSSFPictureData getPictureData()
Return picture data for this shape

Specified by:
getPictureData in interface Picture
Returns:
picture data for this shape

getShapeProperties

protected org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties getShapeProperties()
Description copied from class: XSSFShape
Returns xml bean with shape properties.

Specified by:
getShapeProperties in class XSSFShape
Returns:
xml bean with shape properties.


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.