Package edu.uci.ics.jung.visualization
Class PivotingImageShaper
- java.lang.Object
-
- edu.uci.ics.jung.visualization.PivotingImageShaper
-
public class PivotingImageShaper extends java.lang.ObjectProvides 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.ShapebottomEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)trace the bottom of the imageprivate static java.awt.geom.Point2DdetectLine(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.ShapegetShape(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.ShapeleftEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path)trace the left side of the imageprivate static java.awt.ShaperightEdge(java.awt.image.BufferedImage image, java.awt.geom.GeneralPath path, int start)trace the right side of the imageprivate static java.awt.ShapetopEdge(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:
-
-