SmartObjectLayer Class
Summary: Defines the SmartObjectLayer class that contains embedded in the PSD file or linked smart object in the external file.
With Smart Objects, you can:
Perform nondestructive transforms. You can scale, rotate, skew, distort, perspective transform, or warp a layer
without losing original image data or quality because the transforms don�t affect the original data.
Work with vector data, such as vector artwork from Illustrator, that otherwise would be rasterized.
Perform nondestructive filtering. You can edit filters applied to Smart Objects at any time.
Edit one Smart Object and automatically update all its linked instances.
Apply a layer mask that�s either linked or unlinked to the Smart Object layer.
Try various designs with low-resolution placeholder images that you later replace with final versions.
In Adobe� Photoshop�, you can embed the contents of an image into a PSD document.
More information is here:
A layer with an embedded smart object contains placed (PlLd) and SoLd resources with smart object properties.
The PlLd resource can be alone for PSD versions older then 10.
These resources contain UniqueId of the LiFdDataSource in the global Lnk2Resource with the embedded filename
and other parameters, including the embedded file contents in the original format as a byte array.
Module: aspose.psd.fileformats.psd.layers.smartobjects
Full Name: aspose.psd.fileformats.psd.layers.smartobjects.SmartObjectLayer
Inheritance: IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, Layer
Aspose.PSD Version: 24.9.0
Constructors
Name | Description |
---|---|
SmartObjectLayer(stream) | Initializes a new instance of the SmartObjectLayer class. |
Properties
Name | Type | Access | Description |
---|---|---|---|
BLEND_SIGNATURE [static] | int | r | |
LAYER_HEADER_SIZE [static] | int | r | |
auto_adjust_palette | bool | r/w | |
background_color | Color | r/w | |
bits_per_pixel | int | r | |
blend_clipped_elements | bool | r/w | |
blend_mode_key | BlendMode | r/w | |
blend_mode_signature | int | r | |
blending_options | BlendingOptions | r | |
bottom | int | r/w | |
bounds | Rectangle | r | Gets the object bounds. |
buffer_size_hint | int | r/w | |
channel_information | ChannelInformation[] | r/w | |
channels_count | ushort | r | |
clipping | byte | r/w | |
container | Image | r | |
content_type | SmartObjectType | r | Gets the type of the smart object layer content. The embedded smart object contents is the embedded raw image file: LiFdDataSource.data. The linked smart object contents is the raw contents of the linked image file if it is available: LiFeDataSource. We do not support loading from the Adobe� Photoshop� �� Graphics Library when LinkDataSource.is_library_link is true. For regular link files, at first, we use LiFeDataSource.relative_path to look for the file relatively to the source image path None, if it is not available we look at LiFeDataSource.full_path, if not then we look for the link file in the same directory where our image is: None. |
contents | byte | r/w | Gets or sets the smart object layer contents. The embedded smart object contents is the embedded raw image file: LiFdDataSource.data and its properties. The linked smart object contents is the raw content of the linked image file if it is available and its properties: LiFeDataSource. We do not support loading from the Adobe� Photoshop� �� Graphics Library when LinkDataSource.is_library_link is true. For regular link files, at first, we use LiFeDataSource.relative_path to look for the file relatively to the source image path None, if it is not available we look at LiFeDataSource.full_path, if not then we look for the link file in the same directory where our image is: None. |
contents_bounds | Rectangle | r/w | Gets or sets the smart object content’s bounds. |
contents_source | LinkDataSource | r/w | Gets or sets the smart object content’s source. |
data_stream_container | StreamContainer | r | |
display_name | string | r/w | |
disposed | bool | r | |
extra_length | int | r | |
file_format | FileFormat | r | |
fill_opacity | int | r/w | |
filler | byte | r/w | |
flags | LayerFlags | r/w | |
has_alpha | bool | r | |
has_background_color | bool | r/w | |
has_transparent_color | bool | r/w | |
height | int | r | Gets the object height. |
horizontal_resolution | double | r/w | |
image_opacity | float | r | |
interrupt_monitor | InterruptMonitor | r/w | |
is_cached | bool | r | |
is_raw_data_available | bool | r | Gets a value indicating whether raw data loading is supported. |
is_visible | bool | r/w | |
is_visible_in_group | bool | r | |
layer_blending_ranges_data | LayerBlendingRangesData | r/w | |
layer_creation_date_time | datetime | r/w | |
layer_lock | LayerLockType | r/w | |
layer_mask_data | LayerMaskData | r/w | |
layer_options | PsdOptions | r | |
left | int | r/w | |
length | int | r | |
name | string | r/w | Gets or sets the name of the text layer. |
opacity | byte | r/w | |
palette | IColorPalette | r/w | |
premultiply_components | bool | r/w | |
raw_custom_color_converter | IColorConverter | r/w | |
raw_data_format | PixelDataFormat | r | |
raw_data_settings | RawDataSettings | r | Gets the current raw data settings. Note when using these settings the data loads without conversion. |
raw_fallback_index | int | r/w | |
raw_indexed_color_converter | IIndexedColorConverter | r/w | |
raw_line_size | int | r | |
resources | LayerResource[] | r/w | |
right | int | r/w | |
sheet_color_highlight | SheetColorHighlightEnum | r/w | |
size | Size | r | Gets the object size. |
smart_filters | SmartFilters | r | Gets the smart filters. |
smart_object_provider | SmartObjectProvider | r | Gets the smart object provider. |
top | int | r/w | |
transparent_color | Color | r/w | |
update_xmp_data | bool | r/w | |
use_palette | bool | r | |
use_raw_data | bool | r/w | |
vertical_resolution | double | r/w | |
warp_settings | WarpSettings | r/w | It gets or sets Warp parameters that was set or get from resource (default) |
width | int | r | Gets the object width. |
xmp_data | XmpPacketWrapper | r/w |
Methods
Name | Description |
---|---|
add_layer_mask(layer_mask) | |
adjust_brightness(brightness) | |
adjust_contrast(contrast) | |
adjust_gamma(gamma) | |
adjust_gamma(gamma_red, gamma_green, gamma_blue) | |
binarize_bradley(brightness_difference) | |
binarize_bradley(brightness_difference, window_size) | |
binarize_fixed(threshold) | |
binarize_otsu() | |
cache_data() | |
can_load(file_path) | |
can_load(file_path, load_options) | |
can_load(stream) | |
can_load(stream, load_options) | |
can_save(options) | |
convert_to_linked(linked_path) | Converts this embedded smart object to a linked smart object. |
create(image_options, width, height) | |
crop(left_shift, right_shift, top_shift, bottom_shift) | |
crop(rectangle) | |
dither(dithering_method, bits_count) | |
dither(dithering_method, bits_count, custom_palette) | |
draw_image(location, image) | |
duplicate_layer() | Creates a new smart object layer by coping this one. Notice that for embedded smart objects the embedded image is shared. If you want to copy the embedded image use SmartObjectLayer.new_smart_object_via_copy() method. |
embed_linked() | Embeds the linked smart object in this layer. |
export_contents(file_path) | Exports the embedded or linked contents to a file. |
filter(rectangle, options) | |
get_argb_32_pixel(x, y) | |
get_default_argb_32_pixels(rectangle) | |
get_default_options(args) | |
get_default_pixels(rectangle, partial_pixel_loader) | |
get_default_raw_data(rectangle, partial_raw_data_loader, raw_data_settings) | |
get_default_raw_data(rectangle, raw_data_settings) | |
get_file_format(file_path) | |
get_file_format(stream) | |
get_fitting_rectangle(rectangle, pixels, width, height) | |
get_fitting_rectangle(rectangle, width, height) | |
get_modify_date(use_default) | |
get_original_options() | |
get_pixel(x, y) | |
get_proportional_height(width, height, new_width) | |
get_proportional_width(width, height, new_height) | |
get_skew_angle() | |
grayscale() | |
load(file_path) | |
load(file_path, load_options) | |
load(stream) | |
load(stream, load_options) | |
load_argb_32_pixels(rectangle) | |
load_argb_64_pixels(rectangle) | |
load_cmyk_32_pixels(rectangle) | |
load_cmyk_pixels(rectangle) | |
load_contents(options) | Gets the embedded or linked image contents of the smart object layer. |
load_partial_argb_32_pixels(rectangle, partial_pixel_loader) | Loads 32-bit ARGB pixels partially (by blocks). |
load_partial_pixels(desired_rectangle, pixel_loader) | |
load_pixels(rectangle) | |
load_raw_data(rectangle, dest_image_bounds, raw_data_settings, raw_data_loader) | |
load_raw_data(rectangle, raw_data_settings, raw_data_loader) | Loads raw data. |
merge_layer_to(layer_to_merge_into) | |
new_smart_object_via_copy() | Creates a new smart object layer by coping this one. Reproduces Layer -> Smart Objects -> New Smart Object via Copy functionality of Adobe� Photoshop�.Notice that it is enabled only for embedded smart objects because the embedded image is also copied. If you want to share the embedded image use SmartObjectLayer.duplicate_layer() method. |
normalize_angle() | |
normalize_angle(resize_proportionally, background_color) | |
read_argb_32_scan_line(scan_line_index) | |
read_scan_line(scan_line_index) | |
relink_to_file(linked_path) | Re-links the linked smart object to a new file. There is no need to call UpdateModifiedContent method afterwards. |
replace_color(old_color, old_color_diff, new_color) | |
replace_color(old_color_argb, old_color_diff, new_color_argb) | |
replace_contents(image) | Replaces the smart object contents embedded in the smart object layer. |
replace_contents(image, resolution) | Replaces the smart object contents embedded in the smart object layer. |
replace_contents(linked_path) | Replaces the contents with a file. There is no need to call UpdateModifiedContent method afterwards. |
replace_contents(linked_path, resolution) | Replaces the contents with a file. There is no need to call UpdateModifiedContent method afterwards. |
replace_non_transparent_colors(new_color) | |
replace_non_transparent_colors(new_color_argb) | |
resize(new_width, new_height) | |
resize(new_width, new_height, resize_type) | |
resize(new_width, new_height, settings) | |
resize_height_proportionally(new_height) | |
resize_height_proportionally(new_height, resize_type) | |
resize_height_proportionally(new_height, settings) | |
resize_width_proportionally(new_width) | |
resize_width_proportionally(new_width, resize_type) | |
resize_width_proportionally(new_width, settings) | |
rotate(angle) | |
rotate(angle, resize_proportionally, background_color) | |
rotate_flip(rotate_flip_type) | |
save() | |
save(file_path) | |
save(file_path, options) | |
save(file_path, options, bounds_rectangle) | |
save(file_path, over_write) | |
save(stream) | |
save(stream, options_base) | |
save(stream, options_base, bounds_rectangle) | |
save_argb_32_pixels(rectangle, pixels) | |
save_cmyk_32_pixels(rectangle, pixels) | |
save_cmyk_pixels(rectangle, pixels) | |
save_pixels(rectangle, pixels) | |
save_raw_data(data, data_offset, rectangle, raw_data_settings) | |
set_argb_32_pixel(x, y, argb_32_color) | |
set_palette(palette, update_colors) | |
set_pixel(x, y, color) | |
set_resolution(dpi_x, dpi_y) | |
shallow_copy() | |
to_bitmap() | |
update_modified_content() | Updates the smart object layer image cache with the modified content. |
write_argb_32_scan_line(scan_line_index, argb_32_pixels) | |
write_scan_line(scan_line_index, pixels) |
Constructor: SmartObjectLayer(stream)
SmartObjectLayer(stream)
Initializes a new instance of the SmartObjectLayer class.
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom | The stream of items |
Method: can_load(file_path) [static]
can_load(file_path)
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string |
Returns
Type | Description |
---|---|
bool |
Method: can_load(file_path, load_options) [static]
can_load(file_path, load_options)
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string | |
load_options | LoadOptions |
Returns
Type | Description |
---|---|
bool |
Method: can_load(stream) [static]
can_load(stream)
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom |
Returns
Type | Description |
---|---|
bool |
Method: can_load(stream, load_options) [static]
can_load(stream, load_options)
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom | |
load_options | LoadOptions |
Returns
Type | Description |
---|---|
bool |
Method: can_save(options)
can_save(options)
Parameters:
Parameter | Type | Description |
---|---|---|
options | ImageOptionsBase |
Returns
Type | Description |
---|---|
bool |
Method: convert_to_linked(linked_path)
convert_to_linked(linked_path)
Converts this embedded smart object to a linked smart object.
Parameters:
Parameter | Type | Description |
---|---|---|
linked_path | string | The linked path. |
Method: create(image_options, width, height) [static]
create(image_options, width, height)
Parameters:
Parameter | Type | Description |
---|---|---|
image_options | ImageOptionsBase | |
width | int | |
height | int |
Returns
Type | Description |
---|---|
Image |
Method: duplicate_layer()
duplicate_layer()
Creates a new smart object layer by coping this one.
Notice that for embedded smart objects the embedded image is shared.
If you want to copy the embedded image use SmartObjectLayer.new_smart_object_via_copy() method.
Returns
Type | Description |
---|---|
SmartObjectLayer | The cloned SmartObjectLayer instance. |
Method: export_contents(file_path)
export_contents(file_path)
Exports the embedded or linked contents to a file.
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string | The export file path. |
Method: get_argb_32_pixel(x, y)
get_argb_32_pixel(x, y)
Parameters:
Parameter | Type | Description |
---|---|---|
x | int | |
y | int |
Returns
Type | Description |
---|---|
int |
Method: get_default_argb_32_pixels(rectangle)
get_default_argb_32_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
int |
Method: get_default_options(args)
get_default_options(args)
Parameters:
Parameter | Type | Description |
---|---|---|
args | object |
Returns
Type | Description |
---|---|
ImageOptionsBase |
Method: get_default_raw_data(rectangle, raw_data_settings)
get_default_raw_data(rectangle, raw_data_settings)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle | |
raw_data_settings | RawDataSettings |
Returns
Type | Description |
---|---|
byte |
Method: get_file_format(file_path) [static]
get_file_format(file_path)
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string |
Returns
Type | Description |
---|---|
FileFormat |
Method: get_file_format(stream) [static]
get_file_format(stream)
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom |
Returns
Type | Description |
---|---|
FileFormat |
Method: get_fitting_rectangle(rectangle, pixels, width, height) [static]
get_fitting_rectangle(rectangle, pixels, width, height)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle | |
pixels | int | |
width | int | |
height | int |
Returns
Type | Description |
---|---|
Rectangle |
Method: get_fitting_rectangle(rectangle, width, height) [static]
get_fitting_rectangle(rectangle, width, height)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle | |
width | int | |
height | int |
Returns
Type | Description |
---|---|
Rectangle |
Method: get_modify_date(use_default)
get_modify_date(use_default)
Parameters:
Parameter | Type | Description |
---|---|---|
use_default | bool |
Returns
Type | Description |
---|---|
datetime |
Method: get_original_options()
get_original_options()
Returns
Type | Description |
---|---|
ImageOptionsBase |
Method: get_pixel(x, y)
get_pixel(x, y)
Parameters:
Parameter | Type | Description |
---|---|---|
x | int | |
y | int |
Returns
Type | Description |
---|---|
Color |
Method: get_proportional_height(width, height, new_width) [static]
get_proportional_height(width, height, new_width)
Parameters:
Parameter | Type | Description |
---|---|---|
width | int | |
height | int | |
new_width | int |
Returns
Type | Description |
---|---|
int |
Method: get_proportional_width(width, height, new_height) [static]
get_proportional_width(width, height, new_height)
Parameters:
Parameter | Type | Description |
---|---|---|
width | int | |
height | int | |
new_height | int |
Returns
Type | Description |
---|---|
int |
Method: get_skew_angle()
get_skew_angle()
Returns
Type | Description |
---|---|
float |
Method: load(file_path) [static]
load(file_path)
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string |
Returns
Type | Description |
---|---|
Image |
Method: load(file_path, load_options) [static]
load(file_path, load_options)
Parameters:
Parameter | Type | Description |
---|---|---|
file_path | string | |
load_options | LoadOptions |
Returns
Type | Description |
---|---|
Image |
Method: load(stream) [static]
load(stream)
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom |
Returns
Type | Description |
---|---|
Image |
Method: load(stream, load_options) [static]
load(stream, load_options)
Parameters:
Parameter | Type | Description |
---|---|---|
stream | _io.BufferedRandom | |
load_options | LoadOptions |
Returns
Type | Description |
---|---|
Image |
Method: load_argb_32_pixels(rectangle)
load_argb_32_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
int |
Method: load_argb_64_pixels(rectangle)
load_argb_64_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
long |
Method: load_cmyk_32_pixels(rectangle)
load_cmyk_32_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
int |
Method: load_cmyk_pixels(rectangle)
load_cmyk_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
CmykColor[] |
Method: load_contents(options)
load_contents(options)
Gets the embedded or linked image contents of the smart object layer.
Parameters:
Parameter | Type | Description |
---|---|---|
options | LoadOptions | The options. |
Returns
Type | Description |
---|---|
Image | The loaded Image smart object instance. |
Method: load_partial_argb_32_pixels(rectangle, partial_pixel_loader)
load_partial_argb_32_pixels(rectangle, partial_pixel_loader)
Loads 32-bit ARGB pixels partially (by blocks).
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle | The rectangle to load pixels from. |
partial_pixel_loader | IPartialArgb32PixelLoader | The partial pixel loader. |
Method: load_pixels(rectangle)
load_pixels(rectangle)
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle |
Returns
Type | Description |
---|---|
Color[] |
Method: load_raw_data(rectangle, raw_data_settings, raw_data_loader)
load_raw_data(rectangle, raw_data_settings, raw_data_loader)
Loads raw data.
Parameters:
Parameter | Type | Description |
---|---|---|
rectangle | Rectangle | The rectangle to load raw data from. |
raw_data_settings | RawDataSettings | The raw data settings to use for loaded data. Note if data is not in the format specified then data conversion will be performed. |
raw_data_loader | IPartialRawDataLoader | The raw data loader. |
Method: new_smart_object_via_copy()
new_smart_object_via_copy()
Creates a new smart object layer by coping this one.
Reproduces Layer -> Smart Objects -> New Smart Object via Copy
functionality of Adobe� Photoshop�.
Notice that it is enabled only for embedded smart objects because the embedded image is also copied.
If you want to share the embedded image use SmartObjectLayer.duplicate_layer() method.
Returns
Type | Description |
---|---|
SmartObjectLayer | The cloned SmartObjectLayer instance. |
Method: read_argb_32_scan_line(scan_line_index)
read_argb_32_scan_line(scan_line_index)
Parameters:
Parameter | Type | Description |
---|---|---|
scan_line_index | int |
Returns
Type | Description |
---|---|
int |
Method: read_scan_line(scan_line_index)
read_scan_line(scan_line_index)
Parameters:
Parameter | Type | Description |
---|---|---|
scan_line_index | int |
Returns
Type | Description |
---|---|
Color[] |
Method: relink_to_file(linked_path)
relink_to_file(linked_path)
Re-links the linked smart object to a new file.
There is no need to call UpdateModifiedContent method afterwards.
Parameters:
Parameter | Type | Description |
---|---|---|
linked_path | string | The linked path. |
Method: replace_contents(image)
replace_contents(image)
Replaces the smart object contents embedded in the smart object layer.
Parameters:
Parameter | Type | Description |
---|---|---|
image | Image | The image. |
Method: replace_contents(image, resolution)
replace_contents(image, resolution)
Replaces the smart object contents embedded in the smart object layer.
Parameters:
Parameter | Type | Description |
---|---|---|
image | Image | The image. |
resolution | ResolutionSetting | The resolution settings. If null the image resolution will be used. |
Method: replace_contents(linked_path)
replace_contents(linked_path)
Replaces the contents with a file.
There is no need to call UpdateModifiedContent method afterwards.
Parameters:
Parameter | Type | Description |
---|---|---|
linked_path | string | The linked path. |
Method: replace_contents(linked_path, resolution)
replace_contents(linked_path, resolution)
Replaces the contents with a file.
There is no need to call UpdateModifiedContent method afterwards.
Parameters:
Parameter | Type | Description |
---|---|---|
linked_path | string | The linked path. |
resolution | ResolutionSetting | The resolution settings. If null the image resolution will be used. |
Method: shallow_copy()
shallow_copy()
Returns
Type | Description |
---|---|
Layer |
Method: to_bitmap()
to_bitmap()
Returns
Type | Description |
---|---|
aspose.pydrawing.Bitmap |