Class FourPassImageShaper


  • public class FourPassImageShaper
    extends java.lang.Object
    Provides factory 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
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.awt.Shape getShape​(java.awt.Image image)
      Given an image, possibly with a transparent background, return the Shape of the opaque part of the image
      static java.awt.Shape getShape​(java.awt.image.BufferedImage image)  
      static java.awt.Shape getShape​(java.awt.image.BufferedImage image, int max)
      Given an image, possibly with a transparent background, return the Shape of the opaque part of the image If the image is larger than max in either direction, scale the image down to max-by-max, do the trace (on fewer points) then scale the resulting shape back up to the size of the original image.
      static java.awt.Shape getShape​(java.awt.Image image, int max)  
      static java.awt.Shape getShape​(java.lang.String fileName)
      given the fileName of an image, possibly with a transparent background, return the Shape of the opaque part of the image
      static java.awt.Shape getShape​(java.lang.String fileName, int max)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FourPassImageShaper

        public FourPassImageShaper()
    • Method Detail

      • getShape

        public static java.awt.Shape getShape​(java.lang.String fileName)
        given the fileName of an image, possibly with a transparent background, return the Shape of the opaque part of the image
        Parameters:
        fileName - name of the image, loaded from the classpath
        Returns:
        the Shape
      • getShape

        public static java.awt.Shape getShape​(java.lang.String fileName,
                                              int max)
      • getShape

        public static java.awt.Shape getShape​(java.awt.Image image)
        Given an image, possibly with a transparent background, return the Shape of the opaque part of the image
        Parameters:
        image -
        Returns:
        the Shape
      • getShape

        public static java.awt.Shape getShape​(java.awt.Image image,
                                              int max)
      • getShape

        public static java.awt.Shape getShape​(java.awt.image.BufferedImage image,
                                              int max)
        Given an image, possibly with a transparent background, return the Shape of the opaque part of the image If the image is larger than max in either direction, scale the image down to max-by-max, do the trace (on fewer points) then scale the resulting shape back up to the size of the original image.
        Parameters:
        image - the image to trace
        max - used to restrict number of points in the resulting shape
        Returns:
        the Shape
      • getShape

        public static java.awt.Shape getShape​(java.awt.image.BufferedImage image)