psd_tools.api.shape¶
Shape module.
In PSD/PSB, shapes are all represented as VectorMask in each
layer, and optionally there might be Origination object to control
live shape properties and Stroke to specify how outline is
stylized.
VectorMask¶
- class psd_tools.api.shape.VectorMask(data)[source]¶
Vector mask data.
Vector mask is a resolution-independent mask that consists of one or more Path objects. In Photoshop, all the path objects are represented as Bezier curves. Check
pathsproperty for how to deal with path objects.- property bbox¶
Bounding box tuple (left, top, right, bottom) in relative coordinates, where top-left corner is (0., 0.) and bottom-right corner is (1., 1.).
- Returns:
tuple
- property clipboard_record¶
Clipboard record containing bounding box information.
Depending on the Photoshop version, this field can be None.
- property disabled¶
If the mask is disabled.
- property initial_fill_rule¶
Initial fill rule.
When 0, fill inside of the path. When 1, fill outside of the shape.
- Returns:
int
- property inverted¶
Invert the mask.
- property not_linked¶
If the knots are not linked.
- property paths¶
List of
Subpath. Subpath is a list-like structure that contains one or moreKnotitems. Knot contains relative coordinates of control points for a Bezier curve.indexindicates which origination item the subpath belongs, andoperationindicates how to combine multiple shape paths.In PSD, path fill rule is even-odd.
Example:
for subpath in layer.vector_mask.paths: anchors = [( int(knot.anchor[1] * psd.width), int(knot.anchor[0] * psd.height), ) for knot in subpath]
- Returns:
List of Subpath.
Stroke¶
- class psd_tools.api.shape.Stroke(data)[source]¶
Stroke contains decorative information for strokes.
This is a thin wrapper around
Descriptorstructure. Check _data attribute to get the raw data.- property blend_mode¶
Blend mode.
- property content¶
Fill effect.
- property enabled¶
If the stroke is enabled.
- property fill_enabled¶
If the stroke fill is enabled.
- property line_alignment¶
Alignment, one of inner, outer, center.
- property line_cap_type¶
Cap type, one of butt, round, square.
- property line_dash_offset¶
Line dash offset in float.
- Returns:
float
- property line_dash_set¶
Line dash set in list of
UnitFloat.- Returns:
list
- property line_join_type¶
Join type, one of miter, round, bevel.
- property line_width¶
Stroke width in float.
- property miter_limit¶
Miter limit in float.
- property opacity¶
Opacity value.
- property stroke_adjust¶
Stroke adjust
Origination¶
Origination keeps live shape properties for some of the primitive shapes.
Origination objects are accessible via
origination property of layers.
Following primitive shapes are
defined: Invalidated,
Line,
Rectangle,
Ellipse,
and RoundedRectangle.
Invalidated¶
- class psd_tools.api.shape.Invalidated(data)[source]¶
Invalidated live shape.
This equals to a primitive shape that does not provide Live shape properties. Use
VectorMaskto access shape information instead of this origination object.- property invalidated¶
- Returns:
bool
Line¶
- class psd_tools.api.shape.Line(data)[source]¶
Line live shape.
- property arrow_conc¶
- Returns:
int
- property arrow_end¶
Line arrow end.
- Returns:
bool
- property arrow_length¶
Line arrow length.
- Returns:
float
- property arrow_start¶
Line arrow start.
- Returns:
bool
- property arrow_width¶
Line arrow width.
- Returns:
float
- property bbox¶
Bounding box of the live shape.
- Returns:
- property index¶
Origination item index.
- Returns:
int
- property invalidated¶
- Returns:
bool
- property line_end¶
Line end.
- Returns:
- property line_start¶
Line start.
- Returns:
- property line_weight¶
Line weight
- Returns:
float
- property resolution¶
Resolution.
- Returns:
float
Ellipse¶
- class psd_tools.api.shape.Ellipse(data)[source]¶
Ellipse live shape.
- property bbox¶
Bounding box of the live shape.
- Returns:
- property index¶
Origination item index.
- Returns:
int
- property invalidated¶
- Returns:
bool
- property resolution¶
Resolution.
- Returns:
float
Rectangle¶
- class psd_tools.api.shape.Rectangle(data)[source]¶
Rectangle live shape.
- property bbox¶
Bounding box of the live shape.
- Returns:
- property index¶
Origination item index.
- Returns:
int
- property invalidated¶
- Returns:
bool
- property resolution¶
Resolution.
- Returns:
float
RoundedRectangle¶
- class psd_tools.api.shape.RoundedRectangle(data)[source]¶
Rounded rectangle live shape.
- property bbox¶
Bounding box of the live shape.
- Returns:
- property index¶
Origination item index.
- Returns:
int
- property invalidated¶
- Returns:
bool
- property radii¶
Corner radii of rounded rectangles. The order is top-left, top-right, bottom-left, bottom-right.
- Returns:
- property resolution¶
Resolution.
- Returns:
float