Class PivotingImageShaper

java.lang.Object
edu.uci.ics.jung.visualization.PivotingImageShaper

public class PivotingImageShaper extends Object
Provides Supplier methods that, given a BufferedImage, an Image, or the fileName of an image, will return a java.awt.Shape that is the contiguous traced outline of the opaque part of the image. This could be used to define an image for use in a Vertex, where the shape used for picking and edge-arrow placement follows the opaque part of an image that has a transparent background. The methods try to detect lines in order to minimize points in the path
  • Field Details

    • sample

      static int sample
      the number of pixels to skip while sampling the images edges
    • firstx

      static int firstx
      the first x coordinate of the shape. Used to discern when we are done
  • Constructor Details

    • PivotingImageShaper

      public PivotingImageShaper()
  • Method Details

    • getShape

      public static Shape getShape(BufferedImage image)
      Given an image, possibly with a transparent background, return the Shape of the opaque part of the image
      Parameters:
      image - the image whose shape is being returned
      Returns:
      the Shape
    • detectLine

      private static Point2D detectLine(Point2D p1, Point2D p2, Point2D p, Line2D line, GeneralPath path)
    • leftEdge

      private static Shape leftEdge(BufferedImage image, GeneralPath path)
      trace the left side of the image
      Parameters:
      image -
      path -
      Returns:
    • bottomEdge

      private static Shape bottomEdge(BufferedImage image, GeneralPath path, int start)
      trace the bottom of the image
      Parameters:
      image -
      path -
      start -
      Returns:
    • rightEdge

      private static Shape rightEdge(BufferedImage image, GeneralPath path, int start)
      trace the right side of the image
      Parameters:
      image -
      path -
      start -
      Returns:
    • topEdge

      private static Shape topEdge(BufferedImage image, GeneralPath path, int start)
      trace the top of the image
      Parameters:
      image -
      path -
      start -
      Returns: