Package edu.uci.ics.jung.visualization
Class PivotingImageShaper
- java.lang.Object
-
- edu.uci.ics.jung.visualization.PivotingImageShaper
-
public class PivotingImageShaper extends java.lang.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
-
-
Constructor Summary
Constructors Constructor Description PivotingImageShaper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.awt.Shape
bottomEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the bottom of the imageprivate static java.awt.geom.Point2D
detectLine(java.awt.geom.Point2D p1, java.awt.geom.Point2D p2, java.awt.geom.Point2D p, java.awt.geom.Line2D line, java.awt.geom.GeneralPath path)
static java.awt.Shape
getShape(java.awt.image.BufferedImage image)
Given an image, possibly with a transparent background, return the Shape of the opaque part of the imageprivate static java.awt.Shape
leftEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path)
trace the left side of the imageprivate static java.awt.Shape
rightEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the right side of the imageprivate static java.awt.Shape
topEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the top of the image
-
-
-
Method Detail
-
getShape
public static java.awt.Shape getShape(java.awt.image.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 java.awt.geom.Point2D detectLine(java.awt.geom.Point2D p1, java.awt.geom.Point2D p2, java.awt.geom.Point2D p, java.awt.geom.Line2D line, java.awt.geom.GeneralPath path)
-
leftEdge
private static java.awt.Shape leftEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path)
trace the left side of the image- Parameters:
image
-path
-- Returns:
-
bottomEdge
private static java.awt.Shape bottomEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the bottom of the image- Parameters:
image
-path
-start
-- Returns:
-
rightEdge
private static java.awt.Shape rightEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the right side of the image- Parameters:
image
-path
-start
-- Returns:
-
topEdge
private static java.awt.Shape topEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)
trace the top of the image- Parameters:
image
-path
-start
-- Returns:
-
-