392 lines
7.6 KiB
Markdown
392 lines
7.6 KiB
Markdown
PSDImage
|
||
classpsd_tools.PSDImage(data: PSD)[source]
|
||
Photoshop PSD/PSB file object.
|
||
|
||
The low-level data structure is accessible at PSDImage._record.
|
||
|
||
Example:
|
||
|
||
from psd_tools import PSDImage
|
||
|
||
psd = PSDImage.open('example.psd')
|
||
image = psd.compose()
|
||
|
||
for layer in psd:
|
||
layer_image = layer.compose()
|
||
append(layer: Layer)→ None
|
||
Add a layer to the end (top) of the group
|
||
|
||
Parameters
|
||
:
|
||
layer – The layer to add
|
||
|
||
propertybbox: tuple[int, int, int, int]
|
||
Minimal bounding box that contains all the visible layers.
|
||
|
||
Use viewbox to get viewport bounding box. When the psd is empty, bbox is equal to the canvas bounding box.
|
||
|
||
Returns
|
||
:
|
||
(left, top, right, bottom) tuple.
|
||
|
||
|
||
propertybottom: int
|
||
Bottom coordinate.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
|
||
propertychannels: int
|
||
Number of color channels.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
clear()→ None
|
||
Clears the group.
|
||
|
||
propertycolor_mode: ColorMode
|
||
Document color mode, such as ‘RGB’ or ‘GRAYSCALE’. See ColorMode.
|
||
|
||
Returns
|
||
:
|
||
ColorMode
|
||
|
||
|
||
propertycompatibility_mode: CompatibilityMode
|
||
Set the compositing and layer organization compatibility mode. Writable.
|
||
|
||
Returns
|
||
:
|
||
CompatibilityMode
|
||
|
||
composite(viewport: tuple[int, int, int, int] | None = None, force: bool = False, color: float | tuple[float, ...] = 1.0, alpha: float = 0.0, layer_filter: Callable | None = None, ignore_preview: bool = False, apply_icc: bool = True)[source]
|
||
Composite the PSD image.
|
||
|
||
Parameters
|
||
:
|
||
viewport – Viewport bounding box specified by (x1, y1, x2, y2) tuple. Default is the viewbox of the PSD.
|
||
|
||
ignore_preview – Boolean flag to whether skip compositing when a pre-composited preview is available.
|
||
|
||
force – Boolean flag to force vector drawing.
|
||
|
||
color – Backdrop color specified by scalar or tuple of scalar. The color value should be in [0.0, 1.0]. For example, (1., 0., 0.) specifies red in RGB color mode.
|
||
|
||
alpha – Backdrop alpha in [0.0, 1.0].
|
||
|
||
layer_filter – Callable that takes a layer as argument and returns whether if the layer is composited. Default is is_visible().
|
||
|
||
Returns
|
||
:
|
||
PIL.Image.
|
||
|
||
count(layer: Layer)→ int
|
||
Counts the number of occurences of a layer in the group.
|
||
|
||
Parameters
|
||
:
|
||
layer
|
||
|
||
propertydepth: int
|
||
Pixel depth bits.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
descendants(include_clip: bool = True)→ Iterator[Layer]
|
||
Return a generator to iterate over all descendant layers.
|
||
|
||
Example:
|
||
|
||
# Iterate over all layers
|
||
for layer in psd.descendants():
|
||
print(layer)
|
||
|
||
# Iterate over all layers in reverse order
|
||
for layer in reversed(list(psd.descendants())):
|
||
print(layer)
|
||
Parameters
|
||
:
|
||
include_clip – include clipping layers.
|
||
|
||
extend(layers: Iterable[Layer])→ None
|
||
Add a list of layers to the end (top) of the group
|
||
|
||
Parameters
|
||
:
|
||
layers – The layers to add
|
||
|
||
find(name: str)→ Layer | None
|
||
Returns the first layer found for the given layer name
|
||
|
||
Parameters
|
||
:
|
||
name
|
||
|
||
findall(name: str)→ Iterator[Layer]
|
||
Return a generator to iterate over all layers with the given name.
|
||
|
||
Parameters
|
||
:
|
||
name
|
||
|
||
classmethodfrompil(image: Image, compression=Compression.RLE)→ Self[source]
|
||
Create a new PSD document from PIL Image.
|
||
|
||
Parameters
|
||
:
|
||
image – PIL Image object.
|
||
|
||
compression – ImageData compression option. See Compression.
|
||
|
||
Returns
|
||
:
|
||
A PSDImage object.
|
||
|
||
has_preview()→ bool[source]
|
||
Returns if the document has real merged data. When True, topil() returns pre-composed data.
|
||
|
||
has_thumbnail()→ bool[source]
|
||
True if the PSDImage has a thumbnail resource.
|
||
|
||
propertyheight: int
|
||
Document height.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
|
||
propertyimage_resources: ImageResources
|
||
Document image resources. ImageResources is a dict-like structure that keeps various document settings.
|
||
|
||
See psd_tools.constants.Resource for available keys.
|
||
|
||
Returns
|
||
:
|
||
ImageResources
|
||
|
||
Example:
|
||
|
||
from psd_tools.constants import Resource
|
||
version_info = psd.image_resources.get_data(Resource.VERSION_INFO)
|
||
slices = psd.image_resources.get_data(Resource.SLICES)
|
||
Image resources contain an ICC profile. The following shows how to export a PNG file with embedded ICC profile:
|
||
|
||
from psd_tools.constants import Resource
|
||
icc_profile = psd.image_resources.get_data(Resource.ICC_PROFILE)
|
||
image = psd.compose(apply_icc=False)
|
||
image.save('output.png', icc_profile=icc_profile)
|
||
index(layer: Layer)→ int
|
||
Returns the index of the specified layer in the group.
|
||
|
||
Parameters
|
||
:
|
||
layer
|
||
|
||
insert(index: int, layer: Layer)→ None
|
||
Insert the given layer at the specified index.
|
||
|
||
Parameters
|
||
:
|
||
index
|
||
|
||
layer
|
||
|
||
is_group()→ bool[source]
|
||
Return True if the layer is a group.
|
||
|
||
Returns
|
||
:
|
||
bool
|
||
|
||
is_visible()→ bool[source]
|
||
Returns visibility of the element.
|
||
|
||
Returns
|
||
:
|
||
bool
|
||
|
||
propertykind: str
|
||
Kind.
|
||
|
||
Returns
|
||
:
|
||
‘psdimage’
|
||
|
||
|
||
propertyleft: int
|
||
Left coordinate.
|
||
|
||
Returns
|
||
:
|
||
0
|
||
|
||
|
||
propertyname: str
|
||
Element name.
|
||
|
||
Returns
|
||
:
|
||
‘Root’
|
||
|
||
classmethodnew(mode: str, size: tuple[int, int], color: int = 0, depth: Literal[8, 16, 32] = 8, **kwargs: Any)[source]
|
||
Create a new PSD document.
|
||
|
||
Parameters
|
||
:
|
||
mode – The color mode to use for the new image.
|
||
|
||
size – A tuple containing (width, height) in pixels.
|
||
|
||
color – What color to use for the image. Default is black.
|
||
|
||
Returns
|
||
:
|
||
A PSDImage object.
|
||
|
||
numpy(channel: Literal['color', 'shape', 'alpha', 'mask'] | None = None)→ ndarray[source]
|
||
Get NumPy array of the layer.
|
||
|
||
Parameters
|
||
:
|
||
channel – Which channel to return, can be ‘color’, ‘shape’, ‘alpha’, or ‘mask’. Default is ‘color+alpha’.
|
||
|
||
Returns
|
||
:
|
||
numpy.ndarray
|
||
|
||
propertyoffset: tuple[int, int]
|
||
(left, top) tuple.
|
||
|
||
Returns
|
||
:
|
||
tuple
|
||
|
||
classmethodopen(fp: BinaryIO | str | bytes | PathLike, **kwargs: Any)→ Self[source]
|
||
Open a PSD document.
|
||
|
||
Parameters
|
||
:
|
||
fp – filename or file-like object.
|
||
|
||
encoding – charset encoding of the pascal string within the file, default ‘macroman’. Some psd files need explicit encoding option.
|
||
|
||
Returns
|
||
:
|
||
A PSDImage object.
|
||
|
||
propertyparent: None
|
||
Parent of this layer.
|
||
|
||
pop(index: int = -1)→ Layer
|
||
Removes the specified layer from the list and returns it.
|
||
|
||
Parameters
|
||
:
|
||
index
|
||
|
||
remove(layer: Layer)→ Self
|
||
Removes the specified layer from the group
|
||
|
||
Parameters
|
||
:
|
||
layer
|
||
|
||
propertyright: int
|
||
Right coordinate.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
save(fp: BinaryIO | str | bytes | PathLike, mode: str = 'wb', **kwargs: Any)→ None[source]
|
||
Save the PSD file. Updates the ImageData section if the layer structure has been updated.
|
||
|
||
Parameters
|
||
:
|
||
fp – filename or file-like object.
|
||
|
||
encoding – charset encoding of the pascal string within the file, default ‘macroman’.
|
||
|
||
mode – file open mode, default ‘wb’.
|
||
|
||
propertysize: tuple[int, int]
|
||
(width, height) tuple.
|
||
|
||
Returns
|
||
:
|
||
tuple
|
||
|
||
|
||
propertytagged_blocks: TaggedBlocks | None
|
||
Document tagged blocks that is a dict-like container of settings.
|
||
|
||
See psd_tools.constants.Tag for available keys.
|
||
|
||
Returns
|
||
:
|
||
TaggedBlocks or None.
|
||
|
||
Example:
|
||
|
||
from psd_tools.constants import Tag
|
||
patterns = psd.tagged_blocks.get_data(Tag.PATTERNS1)
|
||
thumbnail()→ Image | None[source]
|
||
Returns a thumbnail image in PIL.Image. When the file does not contain an embedded thumbnail image, returns None.
|
||
|
||
propertytop: int
|
||
Top coordinate.
|
||
|
||
Returns
|
||
:
|
||
0
|
||
|
||
topil(channel: int | ChannelID | None = None, apply_icc: bool = True)→ Image | None[source]
|
||
Get PIL Image.
|
||
|
||
Parameters
|
||
:
|
||
channel – Which channel to return; e.g., 0 for ‘R’ channel in RGB image. See ChannelID. When None, the method returns all the channels supported by PIL modes.
|
||
|
||
apply_icc – Whether to apply ICC profile conversion to sRGB.
|
||
|
||
Returns
|
||
:
|
||
PIL.Image, or None if the composed image is not available.
|
||
|
||
propertyversion: int
|
||
Document version. PSD file is 1, and PSB file is 2.
|
||
|
||
Returns
|
||
:
|
||
int
|
||
|
||
|
||
propertyviewbox: tuple[int, int, int, int]
|
||
Return bounding box of the viewport.
|
||
|
||
Returns
|
||
:
|
||
(left, top, right, bottom) tuple.
|
||
|
||
|
||
propertyvisible: bool
|
||
Visibility.
|
||
|
||
Returns
|
||
:
|
||
True
|
||
|
||
|
||
propertywidth: int
|
||
Document width.
|
||
|
||
Returns
|
||
:
|
||
int |