## com.gargoylesoftware.htmlunit.html
Class HtmlImage

    java.lang.Object
      com.gargoylesoftware.htmlunit.html.DomNode
          com.gargoylesoftware.htmlunit.html.DomNamespaceNode
              com.gargoylesoftware.htmlunit.html.DomElement
                  com.gargoylesoftware.htmlunit.html.HtmlElement
                      com.gargoylesoftware.htmlunit.html.StyledElement
                          com.gargoylesoftware.htmlunit.html.ClickableElement
                              com.gargoylesoftware.htmlunit.html.HtmlImage

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.Node

    public class HtmlImage

extends ClickableElement

Wrapper for the HTML element "img".

Version:
  $Revision: 4713 $
Author:
  Mike Bowler, David K. Taylor, Christian Sell, Ahmed Ashour, Knut Johannes Dahle
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
`HtmlElement.ChildElementsIterator`

Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`DomNode.ChildIterator, DomNode.DescendantElementsIterator`

Field Summary
`static java.lang.String` `TAG_NAME` The HTML tag represented by this element.

Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
`TAB_INDEX_OUT_OF_BOUNDS`

Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
`ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY`

Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Method Summary
`Page` `click()` Simulates clicking this element at the position `(0, 0)`.
`Page` `click(int x, int y)` Simulates clicking this element at the specified position.
`protected Page` `doClickAction(Page defaultPage)` Performs the click action on the enclosing A tag (if any).
`void` `doOnLoad()` INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
`java.lang.String` `getAlignAttribute()` Returns the value of the attribute "align".
`java.lang.String` `getAltAttribute()` Returns the value of the attribute "alt".
`java.lang.String` `getBorderAttribute()` Returns the value of the attribute "border".
`int` `getHeight()` POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK. If the image is not already downloaded it triggers a download.
`java.lang.String` `getHeightAttribute()` Returns the value of the attribute "height".
`java.lang.String` `getHspaceAttribute()` Returns the value of the attribute "hspace".
`javax.imageio.ImageReader` `getImageReader()` POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK. If the image is not already downloaded it triggers a download.
`java.lang.String` `getIsmapAttribute()` Returns the value of the attribute "ismap".
`java.lang.String` `getLongDescAttribute()` Returns the value of the attribute "longdesc".
`java.lang.String` `getNameAttribute()` Returns the value of the attribute "name".
`java.lang.String` `getSrcAttribute()` Returns the value of the attribute "src".
`java.lang.String` `getUseMapAttribute()` Returns the value of the attribute "usemap".
`java.lang.String` `getVspaceAttribute()` Returns the value of the attribute "vspace".
`WebResponse` `getWebResponse(boolean downloadIfNeeded)` POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK. If the image is not already downloaded it triggers a download.
`int` `getWidth()` POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK. If the image is not already downloaded it triggers a download.
`java.lang.String` `getWidthAttribute()` Returns the value of the attribute "width".
`protected void` `onAddedToPage()` Lifecycle method invoked whenever a node is added to a page.
`void` `saveAs(java.io.File file)` Saves this image as the specified file.

Methods inherited from class com.gargoylesoftware.htmlunit.html.StyledElement
`getClassAttribute, getIdAttribute, getStyleAttribute, getTitleAttribute`

Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement

`addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, dblClick, dblClick, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getChildElements, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventHandler, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setAttributeNS, setEventHandler, setEventHandler, setId, toString, type, type, type, type`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement

`cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getElementsByTagName, getElementsByTagNameNS, getNodeType, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isEmptyXmlTagExpanded, namespaces, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
`getLocalName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode

`addDomChangeListener, appendChild, asText, asXml, compareDocumentPosition, fireNodeAdded, fireNodeDeleted, getAllHtmlChildElements, getAncestors, getBaseURI, getByXPath, getCanonicalXPath, getChildNodes, getChildren, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, insertBefore, insertBefore, isAncestorOf, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, normalize, notifyIncorrectness, onAllChildrenAddedToPage, printChildrenAsXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, selectNodes, selectSingleNode, setNextSibling, setNodeValue, setParentNode, setPreviousSibling, setReadyState, setScriptObject, setTextContent, setUserData`

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

Methods inherited from interface org.w3c.dom.Node

`appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

Field Detail

### TAG_NAME

    public static final java.lang.String TAG_NAME

  The HTML tag represented by this element.

  See Also:
    Constant Field Values

Method Detail

### onAddedToPage

    protected void onAddedToPage()

  Lifecycle method invoked whenever a node is added to a page. Intended to be overridden by nodes which need to perform custom logic when they are added to a page. This method is recursive, so if you override it, please be sure to call `super.onAddedToPage()`.

  Overrides:
    `onAddedToPage` in class `DomNode`

### doOnLoad

    public void doOnLoad()

  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.

  Executes this element's `onload` handler if it has one. This method also downloads the image if this element has an `onload` handler (prior to invoking said handler), because applications sometimes use images to send information to the server and use the `onload` handler to get notified when the information has been received by the server.

  See here and here for the discussion which lead up to this method.

  This method may be called multiple times, but will only attempt to execute the `onload` handler the first time it is invoked.

### getSrcAttribute

    public final java.lang.String getSrcAttribute()

  Returns the value of the attribute "src". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "src" or an empty string if that attribute isn't defined

### getAltAttribute

    public final java.lang.String getAltAttribute()

  Returns the value of the attribute "alt". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "alt" or an empty string if that attribute isn't defined

### getNameAttribute

    public final java.lang.String getNameAttribute()

  Returns the value of the attribute "name". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "name" or an empty string if that attribute isn't defined

### getLongDescAttribute

    public final java.lang.String getLongDescAttribute()

  Returns the value of the attribute "longdesc". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "longdesc" or an empty string if that attribute isn't defined

### getHeightAttribute

    public final java.lang.String getHeightAttribute()

  Returns the value of the attribute "height". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "height" or an empty string if that attribute isn't defined

### getWidthAttribute

    public final java.lang.String getWidthAttribute()

  Returns the value of the attribute "width". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "width" or an empty string if that attribute isn't defined

### getUseMapAttribute

    public final java.lang.String getUseMapAttribute()

  Returns the value of the attribute "usemap". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "usemap" or an empty string if that attribute isn't defined

### getIsmapAttribute

    public final java.lang.String getIsmapAttribute()

  Returns the value of the attribute "ismap". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "ismap" or an empty string if that attribute isn't defined

### getAlignAttribute

    public final java.lang.String getAlignAttribute()

  Returns the value of the attribute "align". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "align" or an empty string if that attribute isn't defined

### getBorderAttribute

    public final java.lang.String getBorderAttribute()

  Returns the value of the attribute "border". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "border" or an empty string if that attribute isn't defined

### getHspaceAttribute

    public final java.lang.String getHspaceAttribute()

  Returns the value of the attribute "hspace". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "hspace" or an empty string if that attribute isn't defined

### getVspaceAttribute

    public final java.lang.String getVspaceAttribute()

  Returns the value of the attribute "vspace". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "vspace" or an empty string if that attribute isn't defined

### getHeight

    public int getHeight()
                  throws java.io.IOException

  POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
  If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

  Returns:
    returns the real height of the image
  Throws:
    `java.io.IOException` - if an error occurs while downloading the image or reading it

### getWidth

    public int getWidth()
                 throws java.io.IOException

  POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
  If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

  Returns:
    returns the real width of the image
  Throws:
    `java.io.IOException` - if an error occurs while downloading the image or reading it

### getImageReader

    public javax.imageio.ImageReader getImageReader()
                                             throws java.io.IOException

  POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
  If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

  Returns:
    the ImageReader representing the image from the download stream
  Throws:
    `java.io.IOException` - if an error occurs while downloading the image and if its of an unsupported content-type

### getWebResponse

    public WebResponse getWebResponse(boolean downloadIfNeeded)
                               throws java.io.IOException

  POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
  If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

  Parameters:
    `downloadIfNeeded` - indicates if a request should be performed this hasn't been done previously
  Returns:
    `null` if no download should be performed and when this wasn't already done; the response received when performing a request for the image referenced by this tag otherwise
  Throws:
    `java.io.IOException` - if an error occurs while downloading the image

### click

    public Page click(int x,
                      int y)
               throws java.io.IOException

  Simulates clicking this element at the specified position. This only makes sense for an image map (currently only server side), where the position matters. This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.

  Parameters:
    `x` - the x position of the click
    `y` - the y position of the click
  Returns:
    the page contained by this image's window after the click
  Throws:
    `java.io.IOException` - if an IO error occurs

### click

    public Page click()
               throws java.io.IOException

  Simulates clicking this element at the position `(0, 0)`. This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.

  Overrides:
    `click` in class `HtmlElement`
  Returns:
    the page contained by this image's window after the click
  Throws:
    `java.io.IOException` - if an IO error occurs

### doClickAction

    protected Page doClickAction(Page defaultPage)
                          throws java.io.IOException

  Performs the click action on the enclosing A tag (if any).

  Overrides:
    `doClickAction` in class `HtmlElement`
  Parameters:
    `defaultPage` - the default page to return if the action does not load a new page
  Returns:
    the page that is currently loaded after execution of this method
  Throws:
    `java.io.IOException` - if an IO error occurred

### saveAs

    public void saveAs(java.io.File file)
                throws java.io.IOException

  Saves this image as the specified file.

  Parameters:
    `file` - the file to save to
  Throws:
    `java.io.IOException` - if an IO error occurs

Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.