Class AdobePathReader

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

public final class AdobePathReader extends Object
Reads a Shape object from an Adobe Photoshop Path resource.
See Also:
  • Field Details

    • DEBUG

      static final boolean DEBUG
    • data

      private final DataInput data
  • Constructor Details

    • AdobePathReader

      public AdobePathReader(DataInput data)
      Creates a path reader that will read its data from a DataInput, such as an ImageInputStream. The data length is assumed to be a multiple of 26.
      Parameters:
      data - the input to read data from.
      Throws:
      IllegalArgumentException - if data is null
    • AdobePathReader

      public AdobePathReader(byte[] data)
      Creates a path reader that will read its data from a byte array. The array length must be a multiple of 26, and greater than 0.
      Parameters:
      data - the array to read data from.
      Throws:
      IllegalArgumentException - if data is null, or not a multiple of 26.
  • Method Details

    • readPath

      public Path2D readPath() throws IOException
      Builds the path by reading from the supplied input.
      Returns:
      the path
      Throws:
      IIOException - if the input contains a bad path data.
      IOException - if a general I/O exception occurs during reading.
    • pathToShape

      private Path2D pathToShape(List<List<AdobePathSegment>> paths)
      The Correct Order... P1, P2, P3, P4, P5, P6 (Closed) moveTo(P1) curveTo(P1.cpl, P2.cpp, P2.ap); curveTo(P2.cpl, P3.cpp, P3.ap); curveTo(P3.cpl, P4.cpp, P4.ap); curveTo(P4.cpl, P5.cpp, P5.ap); curveTo(P5.cpl, P6.cpp, P6.ap); curveTo(P6.cpl, P1.cpp, P1.ap); closePath()
    • nextSegment

      private AdobePathSegment nextSegment() throws IOException
      Throws:
      IOException