Class AdobePathWriter

java.lang.Object
com.twelvemonkeys.imageio.path.AdobePathWriter

public final class AdobePathWriter extends Object
Writes a Shape object to an Adobe Photoshop Path or Path resource.
See Also:
  • Field Details

  • Constructor Details

    • AdobePathWriter

      public AdobePathWriter(Shape path)
      Creates an AdobePathWriter for the given path.

      NOTE: Photoshop paths are stored with the coordinates (0,0) representing the top left corner of the image, and (1,1) representing the bottom right corner, regardless of image dimensions.

      Parameters:
      path - A Shape instance that has WIND_EVEN_ODD rule, is contained within the rectangle [x=0.0,y=0.0,w=1.0,h=1.0], and is closed.
      Throws:
      IllegalArgumentException - if path is null, the paths winding rule is not @link Path2D#WIND_EVEN_ODD} or the paths bounding box is outside [x=0.0,y=0.0,w=1.0,h=1.0] or the path is not closed.
  • Method Details

    • pathToSegments

      private static List<AdobePathSegment> pathToSegments(PathIterator pathIterator)
    • close

      private static void close(AdobePathSegment initial, AdobePathSegment prev, List<AdobePathSegment> subpath, List<AdobePathSegment> segments)
    • isCollinear

      private static boolean isCollinear(double x1, double y1, double x2, double y2, double x3, double y3)
    • writePathResource

      public void writePathResource(int resourceId, DataOutput output) throws IOException
      Writes the path as a complete Adobe Photoshop clipping path resource to the given stream.
      Parameters:
      resourceId - the resource id, typically PSD.RES_CLIPPING_PATH (0x07D0).
      output - the stream to write to.
      Throws:
      IOException - if an I/O exception happens during writing.
    • writePath

      public void writePath(DataOutput output) throws IOException
      Writes the path as a set of Adobe Photoshop path segments to the given stream.
      Parameters:
      output - the stream to write to.
      Throws:
      IOException - if an I/O exception happens during writing.
    • writePathResource

      public byte[] writePathResource(int resourceId)
      Transforms the path to a byte array, containing a complete Adobe Photoshop path resource.
      Parameters:
      resourceId - the resource id, typically PSD.RES_CLIPPING_PATH (0x07D0).
      Returns:
      a new byte array, containing the clipping path resource.
    • writePath

      public byte[] writePath()
      Transforms the path to a byte array, containing a set of Adobe Photoshop path segments.
      Returns:
      a new byte array, containing the path segments.