## com.lowagie.text.rtf.graphic
Class RtfImage

    java.lang.Object
      com.lowagie.text.rtf.RtfElement
          com.lowagie.text.rtf.graphic.RtfImage

All Implemented Interfaces:
  RtfBasicElement, RtfElementInterface

    public class RtfImage

extends RtfElement

The RtfImage contains one image. Supported image types are jpeg, png, wmf, bmp.

Version:
  $Id$
Author:
  Mark Hall (Mark.Hall@mail.room3b.eu), Paulo Soares, Thomas Bickel (tmb99@inode.at)

Field Summary
`private int` `alignment` The alignment of this picture
`static byte[]` `byte2charLUT` lookup table used for converting bytes to hex chars.
`private float` `height` The height of this picture
`private byte[][]` `imageData` Binary image data.
`private int` `imageType` The type of image this is.
`private static byte[]` `PICTURE` Constant for a picture
`private static byte[]` `PICTURE_BINARY_DATA` "\bin" constant
`private static byte[]` `PICTURE_GROUP` Constant for the shape/picture group
`private static byte[]` `PICTURE_HEIGHT` Constant for the picture height
`private static byte[]` `PICTURE_JPEG` Constant for a jpeg image
`private static byte[]` `PICTURE_PNG` Constant for a png image
`private static byte[]` `PICTURE_SCALE_X` Constant for horizontal picture scaling
`private static byte[]` `PICTURE_SCALE_Y` Constant for vertical picture scaling
`private static byte[]` `PICTURE_SCALED_HEIGHT` Constant for the picture height scale
`private static byte[]` `PICTURE_SCALED_WIDTH` Constant for the picture width scale
`private static byte[]` `PICTURE_WIDTH` Constant for the picture width
`private static byte[]` `PICTURE_WMF` Constant for a wmf image
`private static int` `PIXEL_TWIPS_FACTOR` Constant for converting pixels to twips
`private float` `plainHeight` The intended display height of this picture
`private float` `plainWidth` The intended display width of this picture
`private boolean` `topLevelElement` Whether this RtfImage is a top level element and should be an extra paragraph.
`private float` `width` The width of this picture

Fields inherited from class com.lowagie.text.rtf.RtfElement
`document, inHeader, inTable`

Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement
`CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR`

Constructor Summary
`RtfImage(RtfDocument doc, Image image)` Constructs a RtfImage for an Image.

Method Summary
`private byte[][]` `getImageData(Image image)` Extracts the image data from the Image.
`private int` `imageDataSize()` Returns the image raw data size in bytes.
`void` `setAlignment(int alignment)` Sets the alignment of this RtfImage.
`void` `setTopLevelElement(boolean topLevelElement)` Set whether this RtfImage should behave like a top level element and enclose itself in a paragraph.
`void` `writeContent(java.io.OutputStream result)` Writes the RtfImage content
`private void` `writeImageDataHexEncoded(java.io.OutputStream bab)` Writes the image data to the given buffer as hex encoded text.

Methods inherited from class com.lowagie.text.rtf.RtfElement
`intToByteArray, isInTable, setInHeader, setInTable, setRtfDocument`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PICTURE_GROUP

    private static final byte[] PICTURE_GROUP

  Constant for the shape/picture group

### PICTURE

    private static final byte[] PICTURE

  Constant for a picture

### PICTURE_JPEG

    private static final byte[] PICTURE_JPEG

  Constant for a jpeg image

### PICTURE_PNG

    private static final byte[] PICTURE_PNG

  Constant for a png image

### PICTURE_WMF

    private static final byte[] PICTURE_WMF

  Constant for a wmf image

### PICTURE_WIDTH

    private static final byte[] PICTURE_WIDTH

  Constant for the picture width

### PICTURE_HEIGHT

    private static final byte[] PICTURE_HEIGHT

  Constant for the picture height

### PICTURE_SCALED_WIDTH

    private static final byte[] PICTURE_SCALED_WIDTH

  Constant for the picture width scale

### PICTURE_SCALED_HEIGHT

    private static final byte[] PICTURE_SCALED_HEIGHT

  Constant for the picture height scale

### PICTURE_SCALE_X

    private static final byte[] PICTURE_SCALE_X

  Constant for horizontal picture scaling

### PICTURE_SCALE_Y

    private static final byte[] PICTURE_SCALE_Y

  Constant for vertical picture scaling

### PICTURE_BINARY_DATA

    private static final byte[] PICTURE_BINARY_DATA

  "\bin" constant

### PIXEL_TWIPS_FACTOR

    private static final int PIXEL_TWIPS_FACTOR

  Constant for converting pixels to twips

  See Also:
    Constant Field Values

### imageType

    private final int imageType

  The type of image this is.

### imageData

    private final byte[][] imageData

  Binary image data.

### alignment

    private int alignment

  The alignment of this picture

### width

    private float width

  The width of this picture

### height

    private float height

  The height of this picture

### plainWidth

    private float plainWidth

  The intended display width of this picture

### plainHeight

    private float plainHeight

  The intended display height of this picture

### topLevelElement

    private boolean topLevelElement

  Whether this RtfImage is a top level element and should be an extra paragraph.

### byte2charLUT

    public static final byte[] byte2charLUT

  lookup table used for converting bytes to hex chars. TODO Should probably be refactored into a helper class

Constructor Detail

### RtfImage

    public RtfImage(RtfDocument doc,
                    Image image)
             throws DocumentException

  Constructs a RtfImage for an Image.

  Parameters:
    `doc` - The RtfDocument this RtfImage belongs to
    `image` - The Image that this RtfImage wraps
  Throws:
    `DocumentException` - If an error occurred accessing the image content

Method Detail

### getImageData

    private byte[][] getImageData(Image image)
                           throws DocumentException

  Extracts the image data from the Image.

  Parameters:
    `image` - The image for which to extract the content
  Returns:
    The raw image data, not formated
  Throws:
    `DocumentException` - If an error occurs accessing the image content

### writeImageDataHexEncoded

    private void writeImageDataHexEncoded(java.io.OutputStream bab)
                                   throws java.io.IOException

  Writes the image data to the given buffer as hex encoded text.

  Parameters:
    `bab` -
  Throws:
    `java.io.IOException`

### imageDataSize

    private int imageDataSize()

  Returns the image raw data size in bytes.

  Returns:
    the size in bytes

### writeContent

    public void writeContent(java.io.OutputStream result)
                      throws java.io.IOException

  Writes the RtfImage content

  Specified by:
    `writeContent` in interface `RtfBasicElement`
  Specified by:
    `writeContent` in class `RtfElement`
  Parameters:
    `result` - The `OutputStream` to write the content to
  Throws:
    `java.io.IOException`

### setAlignment

    public void setAlignment(int alignment)

  Sets the alignment of this RtfImage. Uses the alignments from com.lowagie.text.Element.

  Parameters:
    `alignment` - The alignment to use.

### setTopLevelElement

    public void setTopLevelElement(boolean topLevelElement)

  Set whether this RtfImage should behave like a top level element and enclose itself in a paragraph.

  Parameters:
    `topLevelElement` - Whether to behave like a top level element.

Hosted by Hostbasket