ImageGraphicAttribute (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: java.awt.font, class: ImageGraphicAttribute
Keywords: java.awt.font.ImageGraphicAttribute class

# 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 declared in class GraphicAttribute

  `BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT`
  Modifier and Type
  Field
  Description
  `static final int`
  `BOTTOM_ALIGNMENT`
  Aligns bottom of graphic to bottom of line.
  `static final int`
  `CENTER_BASELINE`
  Aligns origin of graphic to center baseline of line.
  `static final int`
  `HANGING_BASELINE`
  Aligns origin of graphic to hanging baseline of line.
  `static final int`
  `ROMAN_BASELINE`
  Aligns origin of graphic to roman baseline of line.
  `static final int`
  `TOP_ALIGNMENT`
  Aligns top of graphic to top of line.

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  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 declared in class GraphicAttribute

  `getAlignment, getJustificationInfo, getOutline`
  Modifier and Type
  Method
  Description
  `final int`
  `getAlignment()`
  Returns the alignment of this `GraphicAttribute`.
  `GlyphJustificationInfo`
  `getJustificationInfo()`
  Returns the justification information for this `GraphicAttribute`.
  `Shape`
  `getOutline(AffineTransform tx)`
  Return a `Shape` that represents the region that this `GraphicAttribute` renders.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### ImageGraphicAttribute

    public ImageGraphicAttribute(Image image, int alignment)
    Constructs 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 Details

  - ### 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(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.