Class AdobePathWriter
java.lang.Object
com.twelvemonkeys.imageio.path.AdobePathWriter
Writes a
Shape object to an Adobe Photoshop Path or Path resource.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate final List<AdobePathSegment> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidclose(AdobePathSegment initial, AdobePathSegment prev, List<AdobePathSegment> subpath, List<AdobePathSegment> segments) private static booleanisCollinear(double x1, double y1, double x2, double y2, double x3, double y3) private static List<AdobePathSegment> pathToSegments(PathIterator pathIterator) byte[]Transforms the path to a byte array, containing a set of Adobe Photoshop path segments.voidwritePath(DataOutput output) Writes the path as a set of Adobe Photoshop path segments to the given stream.byte[]writePathResource(int resourceId) Transforms the path to a byte array, containing a complete Adobe Photoshop path resource.voidwritePathResource(int resourceId, DataOutput output) Writes the path as a complete Adobe Photoshop clipping path resource to the given stream.
-
Field Details
-
COLLINEARITY_THRESHOLD
private static final double COLLINEARITY_THRESHOLD- See Also:
-
segments
-
-
Constructor Details
-
AdobePathWriter
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- AShapeinstance that hasWIND_EVEN_ODDrule, is contained within the rectangle [x=0.0,y=0.0,w=1.0,h=1.0], and is closed.- Throws:
IllegalArgumentException- ifpathisnull, 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
-
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
Writes the path as a complete Adobe Photoshop clipping path resource to the given stream.- Parameters:
resourceId- the resource id, typicallyPSD.RES_CLIPPING_PATH(0x07D0).output- the stream to write to.- Throws:
IOException- if an I/O exception happens during writing.
-
writePath
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, typicallyPSD.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.
-