Package ij.gui

Class Line

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
Arrow

public class Line extends Roi
This class represents a straight line selection.
See Also:
  • Field Details

    • x1

      public int x1
    • y1

      public int y1
    • x2

      public int x2
    • y2

      public int y2
    • x1d

      public double x1d
    • y1d

      public double y1d
    • x2d

      public double x2d
    • y2d

      public double y2d
    • x1R

      protected double x1R
    • y1R

      protected double y1R
    • x2R

      protected double x2R
    • y2R

      protected double y2R
    • startxd

      protected double startxd
    • startyd

      protected double startyd
  • Constructor Details

    • Line

      public Line(int ox1, int oy1, int ox2, int oy2)
      Creates a new straight line selection using the specified starting and ending offscreen integer coordinates.
    • Line

      public Line(double ox1, double oy1, double ox2, double oy2)
      Creates a new straight line selection using the specified starting and ending offscreen double coordinates.
    • Line

      public Line(int sx, int sy, ImagePlus imp)
      Starts the process of creating a new user-generated straight line selection. 'sx' and 'sy' are screen coordinates that specify the start of the line. The user will determine the end of the line interactively using rubber banding.
    • Line

      public Line(int ox1, int oy1, int ox2, int oy2, ImagePlus imp)
      Deprecated.
      replaced by Line(int, int, int, int)
  • Method Details

    • grow

      protected void grow(int sx, int sy)
      Overrides:
      grow in class Roi
    • mouseMoved

      public void mouseMoved(MouseEvent e)
      Overrides:
      mouseMoved in class Roi
    • handleMouseUp

      protected void handleMouseUp(int screenX, int screenY)
      Overrides:
      handleMouseUp in class Roi
    • drawLine

      protected void drawLine(int sx, int sy)
    • moveHandle

      protected void moveHandle(int sx, int sy)
      Overrides:
      moveHandle in class Roi
    • mouseDownInHandle

      protected void mouseDownInHandle(int handle, int sx, int sy)
      Overrides:
      mouseDownInHandle in class Roi
    • draw

      public void draw(Graphics g)
      Draws this line on the image.
      Overrides:
      draw in class Roi
    • getAngle

      public double getAngle()
      Description copied from class: Roi
      Overridden by PolygonRoi (angle between first two points), TextRoi (text angle) and Line (line angle).
      Overrides:
      getAngle in class Roi
    • getLength

      public double getLength()
      Returns the length of this line.
      Overrides:
      getLength in class Roi
    • getRawLength

      public double getRawLength()
      Returns the length of this line in pixels.
    • getPixels

      public double[] getPixels()
      Returns the pixel values along this line.
    • getPoints

      public Polygon getPoints()
      Returns, as a Polygon, the two points that define this line.
    • getFloatPoints

      public FloatPolygon getFloatPoints()
      Returns, as a FloatPolygon, the two points that define this line.
    • getPolygon

      public Polygon getPolygon()
      If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point Polygon, or, if the width is greater than one, returns an outline of the line as a 4-point Polygon.
      Overrides:
      getPolygon in class Roi
      See Also:
    • getFloatPolygon

      public FloatPolygon getFloatPolygon()
      If the width of this line is less than or equal to one, returns the starting and ending coordinates as a 2-point FloatPolygon, or, if the width is greater than one, returns an outline of the line as a 4-point FloatPolygon.
      Overrides:
      getFloatPolygon in class Roi
      See Also:
    • drawPixels

      public void drawPixels(ImageProcessor ip)
      Description copied from class: Roi
      Draws the selection outline on the specified ImageProcessor.
      Overrides:
      drawPixels in class Roi
      See Also:
    • contains

      public boolean contains(int x, int y)
      Overrides:
      contains in class Roi
    • handleMouseDown

      protected void handleMouseDown(int sx, int sy)
      Overrides:
      handleMouseDown in class Roi
    • isHandle

      public int isHandle(int sx, int sy)
      Returns a handle number if the specified screen coordinates are inside or near a handle, otherwise returns -1.
      Overrides:
      isHandle in class Roi
    • getWidth

      public static int getWidth()
    • setWidth

      public static void setWidth(int w)
    • setStrokeWidth

      public void setStrokeWidth(float width)
      Description copied from class: Roi
      Sets the width of the line used to draw this ROI. Set the width to 0.0 and the ROI will be drawn using a a 1 pixel stroke width regardless of the magnification.
      Overrides:
      setStrokeWidth in class Roi
      See Also:
    • getBounds

      public Rectangle getBounds()
      Return the bounding rectangle of this line.
      Overrides:
      getBounds in class Roi
    • clipRectMargin

      protected int clipRectMargin()
      Overrides:
      clipRectMargin in class Roi
    • nudgeCorner

      public void nudgeCorner(int key)
      Nudge end point of line by one pixel.
      Overrides:
      nudgeCorner in class Roi
    • getDrawOffset

      public boolean getDrawOffset()
      Description copied from class: Roi
      Returns true if this is a PolygonRoi that supports sub-pixel resolution and polygons are drawn on zoomed images offset down and to the right by 0.5 pixels..
      Overrides:
      getDrawOffset in class Roi
    • setDrawOffset

      public void setDrawOffset(boolean drawOffset)
      Overrides:
      setDrawOffset in class Roi
    • subPixelResolution

      public boolean subPixelResolution()
      Always returns true.
      Overrides:
      subPixelResolution in class Roi
    • setLocation

      public void setLocation(int x, int y)
      Description copied from class: Roi
      Set the location of the ROI in image coordinates.
      Overrides:
      setLocation in class Roi