Module ij
Package ij.gui

# Class ImageRoi

java.lang.Object
ij.gui.Roi
ij.gui.ImageRoi

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Iterable<Point>`

public class ImageRoi extends Roi
An ImageRoi is an Roi that overlays an image.

See Also:
  - `ImagePlus.setOverlay(ij.gui.Overlay)`
  - Serialized Form

## Field Summary

### Fields inherited from class ij.gui.Roi

`ANGLE, asp_bk, aspect, cachedMask, center, clipboard, clipHeight, clipWidth, clipX, clipY, COMPOSITE, constrain, CONSTRUCTING, defaultColor, defaultFillColor, FERET_ARRAY_POINTOFFSET, FERET_ARRAYSIZE, fillColor, flattenScale, FREELINE, FREEROI, HANDLE_SIZE, handleColor, ic, ignoreClipRect, imp, instanceColor, LINE, lineWidth, mag, MOVING, MOVING_HANDLE, nonScalable, NORMAL, NOT_PASTING, oldHeight, oldWidth, oldX, oldY, onePixelWide, OVAL, overlay, pasteMode, POINT, POLYGON, POLYLINE, previousRoi, RECTANGLE, RESIZING, ROIColor, stroke, strokeColor, TRACED_ROI, type, updateFullWindow, wideLine, xMax, yMax`

## Constructor Summary

Constructors
Constructor
Description
`ImageRoi(int x, int y, ImageProcessor ip)`
Creates a new ImageRoi from a ImageProcessor.
`ImageRoi(int x, int y, BufferedImage bi)`
Creates a new ImageRoi from a BufferedImage.

## Method Summary

Modifier and Type
Method
Description
`Object`
`clone()`
Returns a copy of this roi.
`void`
`draw(Graphics g)`
`double`
`getOpacity()`
Returns the current opacity.
`ImageProcessor`
`getProcessor()`
`byte[]`
`getSerializedImage()`
Returns a serialized version of the image.
`boolean`
`getZeroTransparent()`
`void`
`rotate(double angle)`
`void`
`setAngle(double angle)`
`void`
`setComposite(Composite composite)`
Sets the composite mode.
`void`
`setOpacity(double opacity)`
Sets the composite mode using the specified opacity (alpha), in the range 0.0-1.0, where 0.0 is fully transparent and 1.0 is fully opaque.
`void`
`setProcessor(ImageProcessor ip)`
`void`
`setZeroTransparent(boolean zeroTransparent)`

### Methods inherited from class ij.gui.Roi

`abortModification, abortPaste, addRoiListener, clipRectMargin, contains, containsPoint, convertLineToArea, convertToPolygon, copyAttributes, create, create, drawOverlay, drawPixels, drawPixels, enableSubPixelResolution, endPaste, equals, getAngle, getAngle, getAntiAlias, getBoundingRect, getBounds, getColor, getContainedFloatPoints, getContainedPoints, getContourCentroid, getConvexHull, getCornerDiameter, getCPosition, getCurrentPasteMode, getDebugInfo, getDefaultFillColor, getDefaultGroup, getDefaultHandleSize, getDefaultStrokeWidth, getDrawOffset, getFeretsDiameter, getFeretValues, getFillColor, getFloatAngle, getFloatBounds, getFloatConvexHull, getFloatHeight, getFloatPolygon, getFloatPolygon, getFloatWidth, getGroup, getGroupName, getGroupNames, getHandleSize, getHashCode, getImage, getImageID, getInterpolatedPolygon, getInterpolatedPolygon, getInterpolatedPolygon, getInverse, getLength, getListeners, getMagnification, getMask, getName, getPasteMode, getPolygon, getPosition, getPreviousRoi, getProperties, getProperty, getPropertyCount, getPrototypeOverlay, getRotationCenter, getRoundRectArcSize, getScaledStroke, getScaleStrokeWidth, getState, getStatistics, getStroke, getStrokeColor, getStrokeWidth, getTPosition, getType, getTypeAsString, getXBase, getYBase, getZPosition, grow, handleMouseDown, handleMouseDrag, handleMouseUp, hasHyperStackPosition, isActiveOverlayRoi, isArea, isCursor, isDrawingTool, isHandle, isInteger, isLine, isLineOrPoint, isVisible, iterator, lineCircleIntersection, magnificationForSubPixel, magnificationForSubPixel, mouseDownInHandle, mouseDragged, mouseMoved, mouseReleased, moveHandle, notifyListeners, nudge, nudgeCorner, offScreenX, offScreenXD, offScreenY, offScreenYD, removeRoiListener, resetDefaultHandleSize, saveGroupNames, screenX, screenXD, screenY, screenYD, setAntiAlias, setBounds, setColor, setCornerDiameter, setDefaultColor, setDefaultFillColor, setDefaultGroup, setDefaultStrokeWidth, setDrawOffset, setFillColor, setFlattenScale, setGroup, setGroupName, setGroupNames, setHandleSize, setIgnoreClipRect, setImage, setInstanceColor, setIsCursor, setLineWidth, setLocation, setLocation, setName, setNonScalable, setPasteMode, setPosition, setPosition, setPosition, setPreviousRoi, setProperties, setProperty, setPrototypeOverlay, setRenderingHint, setRotationCenter, setRoundRectArcSize, setStroke, setStrokeColor, setStrokeWidth, setStrokeWidth, setUnscalableStrokeWidth, showStatus, size, startPaste, subPixelResolution, temporarilyHide, toFloat, toInt, toInt, toIntR, toString, translate, update, updateClipRect, updateWideLine, useLineSubpixelConvention, xor`

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

`finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Constructor Details

### ImageRoi

public ImageRoi(int x, int y, BufferedImage bi)
Creates a new ImageRoi from a BufferedImage.

### ImageRoi

public ImageRoi(int x, int y, ImageProcessor ip)
Creates a new ImageRoi from a ImageProcessor.

## Method Details

### draw

public void draw(Graphics g)

Overrides:
  `draw` in class `Roi`

### setComposite

public void setComposite(Composite composite)
Sets the composite mode.

### setOpacity

public void setOpacity(double opacity)
Sets the composite mode using the specified opacity (alpha), in the range 0.0-1.0, where 0.0 is fully transparent and 1.0 is fully opaque.

### getSerializedImage

public byte[] getSerializedImage()
Returns a serialized version of the image.

### getOpacity

public double getOpacity()
Returns the current opacity.

### rotate

public void rotate(double angle)

### setAngle

public void setAngle(double angle)

### setZeroTransparent

public void setZeroTransparent(boolean zeroTransparent)

### getZeroTransparent

public boolean getZeroTransparent()

### clone

public Object clone()
Description copied from class: `Roi`
Returns a copy of this roi. See Thinking is Java by Bruce Eckel (www.eckelobjects.com) for a good description of object cloning.

Overrides:
  `clone` in class `Roi`

### getProcessor

public ImageProcessor getProcessor()

### setProcessor

public void setProcessor(ImageProcessor ip)