ImageGraphicAttribute (Java Platform SE 8 )
Keywords: java.awt.font.ImageGraphicAttribute class
Date: 2026-03-16

java.awt.font

## Class ImageGraphicAttribute

- java.lang.Object
- - java.awt.font.GraphicAttribute
  - - java.awt.font.ImageGraphicAttribute

-     public final class ImageGraphicAttribute
      extends GraphicAttribute

  The `ImageGraphicAttribute` class is an implementation of `GraphicAttribute` which draws images in a `TextLayout`.
  See Also:
    `GraphicAttribute`

- - ### Field Summary

    - ### Fields inherited from class java.awt.font.GraphicAttribute

      `BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImageGraphicAttribute(Image image, int alignment)` Constucts an `ImageGraphicAttribute` from the specified `Image`.
    `ImageGraphicAttribute(Image image, int alignment, float originX, float originY)` Constructs an `ImageGraphicAttribute` from the specified `Image`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `draw(Graphics2D graphics, float x, float y)` Renders this `GraphicAttribute` at the specified location.
    `boolean` | `equals(ImageGraphicAttribute rhs)` Compares this `ImageGraphicAttribute` to the specified `ImageGraphicAttribute`.
    `boolean` | `equals(Object rhs)` Compares this `ImageGraphicAttribute` to the specified `Object`.
    `float` | `getAdvance()` Returns the advance of this `ImageGraphicAttribute`.
    `float` | `getAscent()` Returns the ascent of this `ImageGraphicAttribute`.
    `Rectangle2D` | `getBounds()` Returns a `Rectangle2D` that encloses all of the bits rendered by this `ImageGraphicAttribute`, relative to the rendering position.
    `float` | `getDescent()` Returns the descent of this `ImageGraphicAttribute`.
    `int` | `hashCode()` Returns a hashcode for this `ImageGraphicAttribute`.

    - ### Methods inherited from class java.awt.font.GraphicAttribute

      `getAlignment, getJustificationInfo, getOutline`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ImageGraphicAttribute

          public ImageGraphicAttribute(Image image,
                                       int alignment)

      Constucts an `ImageGraphicAttribute` from the specified `Image`. The origin is at (0, 0).
      Parameters:
        `image` - the `Image` rendered by this `ImageGraphicAttribute`. This object keeps a reference to `image`.
        `alignment` - one of the alignments from this `ImageGraphicAttribute`

    - #### ImageGraphicAttribute

          public ImageGraphicAttribute(Image image,
                                       int alignment,
                                       float originX,
                                       float originY)

      Constructs an `ImageGraphicAttribute` from the specified `Image`. The point (`originX`, `originY`) in the `Image` appears at the origin of the `ImageGraphicAttribute` within the text.
      Parameters:
        `image` - the `Image` rendered by this `ImageGraphicAttribute`. This object keeps a reference to `image`.
        `alignment` - one of the alignments from this `ImageGraphicAttribute`
        `originX` - the X coordinate of the point within the `Image` that appears at the origin of the `ImageGraphicAttribute` in the text line.
        `originY` - the Y coordinate of the point within the `Image` that appears at the origin of the `ImageGraphicAttribute` in the text line.

  - ### Method Detail

    - #### getAscent

          public float getAscent()

      Returns the ascent of this `ImageGraphicAttribute`. The ascent of an `ImageGraphicAttribute` is the distance from the top of the image to the origin.
      Specified by:
        `getAscent` in class `GraphicAttribute`
      Returns:
        the ascent of this `ImageGraphicAttribute`.
      See Also:
        `GraphicAttribute.getBounds()`

    - #### getDescent

          public float getDescent()

      Returns the descent of this `ImageGraphicAttribute`. The descent of an `ImageGraphicAttribute` is the distance from the origin to the bottom of the image.
      Specified by:
        `getDescent` in class `GraphicAttribute`
      Returns:
        the descent of this `ImageGraphicAttribute`.
      See Also:
        `GraphicAttribute.getBounds()`

    - #### getAdvance

          public float getAdvance()

      Returns the advance of this `ImageGraphicAttribute`. The advance of an `ImageGraphicAttribute` is the distance from the origin to the right edge of the image.
      Specified by:
        `getAdvance` in class `GraphicAttribute`
      Returns:
        the advance of this `ImageGraphicAttribute`.
      See Also:
        `GraphicAttribute.getBounds()`

    - #### getBounds

          public Rectangle2D getBounds()

      Returns a `Rectangle2D` that encloses all of the bits rendered by this `ImageGraphicAttribute`, relative to the rendering position. A graphic can be rendered beyond its origin, ascent, descent, or advance; but if it is, this method's implementation must indicate where the graphic is rendered.
      Overrides:
        `getBounds` in class `GraphicAttribute`
      Returns:
        a `Rectangle2D` that encloses all of the bits rendered by this `ImageGraphicAttribute`.

    - #### draw

          public void draw(Graphics2D graphics,
                           float x,
                           float y)

      Renders this `GraphicAttribute` at the specified location.
      Specified by:
        `draw` in class `GraphicAttribute`
      Parameters:
        `graphics` - the `Graphics2D` into which to render the graphic
        `x` - the user-space X coordinate where the graphic is rendered
        `y` - the user-space Y coordinate where the graphic is rendered

    - #### hashCode

          public int hashCode()

      Returns a hashcode for this `ImageGraphicAttribute`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object.
      See Also:
        `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

    - #### equals

          public boolean equals(Object rhs)

      Compares this `ImageGraphicAttribute` to the specified `Object`.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `rhs` - the `Object` to compare for equality
      Returns:
        `true` if this `ImageGraphicAttribute` equals `rhs`; `false` otherwise.
      See Also:
        `Object.hashCode()`, `HashMap`

    - #### equals

          public boolean equals(ImageGraphicAttribute rhs)

      Compares this `ImageGraphicAttribute` to the specified `ImageGraphicAttribute`.
      Parameters:
        `rhs` - the `ImageGraphicAttribute` to compare for equality
      Returns:
        `true` if this `ImageGraphicAttribute` equals `rhs`; `false` otherwise.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.