## org.apache.poi.xssf.usermodel
Class XSSFPicture

    java.lang.Object
      org.apache.poi.xssf.usermodel.XSSFShape
          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.