Layer để tải, kiểm tra,
và lưu các tệp Adobe Photoshop PSD và PSB mà không yêu cầu Adobe Photoshop hoặc bất kỳ
môi trường thực thi độc quyền nào. Nó cung cấp một API nhẹ, độc lập, tập trung vào PsdImage và
Layer, cho các nhà phát triển Python truy cập lập trình vào cấu trúc của tài liệu PSD mà không có
phụ thuộc native nào để biên dịch. Thư viện đọc các kích thước, chế độ màu, độ sâu bit và phương pháp nén của
tệp PSD/PSB, và cung cấp mọi lớp qua PsdImage.layers: mỗi Layer báo cáo tên,
giới hạn, độ mờ, trạng thái hiển thị và khóa chế độ hòa trộn (BlendMode), cùng với thông tin kênh cấp thấp
(ChannelInformation) và dữ liệu mặt nạ (LayerMaskData). Một tập con của
siêu dữ liệu lớp — tên, giới hạn (left/top/right/bottom), và chế độ hòa trộn — có thể
được sửa đổi tại chỗ và lưu lại trên đĩa bằng PsdImage.save(); mọi thứ khác trên
bề mặt được đặt ở chế độ chỉ đọc theo thiết kế trong bản dựng FOSS này. Aspose.PSD FOSS for Python được cấp phép MIT. Cài đặt nó với
pip install aspose-psd-foss — thư viện không có bất kỳ phụ thuộc native bên thứ ba nào,
chỉ sử dụng thư viện chuẩn Python. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.PSD — Enterprise Product Family.Image.load(file_path) mở một tệp và trả về một thể hiện PsdImagePsdImage.width, height, và channels_count báo cáo kích thước canvas và số kênhPsdImage.layers trả về danh sách đầy đủ các đối tượng Layer theo thứ tự tài liệuPsdImage.layers trả về mọi Layer theo thứ tự tài liệu; mỗi Layer cung cấp name, bounds, opacity, is_visible, và blend_mode_keyLayer.channel_information cung cấp siêu dữ liệu kênh để kiểm tra sâu hơnLayer.channels_count báo cáo số lượng kênh hình ảnh mà một lớp mangPsdImage.layers tự nó có thể được gán lại để xóa hoặc sắp xếp lại các lớpLayer.name, Layer.left/top/right/bottom, và Layer.blend_mode_key có thể được đặt trực tiếpPsdImage.save(file_path) lưu lại tài liệu đã chỉnh sửa về đĩaPsdImage.load xác nhận các chỉnh sửa vòng qua đúng cáchNotSupportedException nếu được đặt — bản dựng này hỗ trợ chỉ chỉnh sửa siêu dữ liệu, không phải tái tạo đầy đủLayer.channel_information cho phép truy cập các bộ sưu tập siêu dữ liệu theo kênhLayer.has_mask_data và has_blending_ranges_data báo cáo xem các phần tùy chọn có tồn tại hay khôngPsdLoadException và PsdSaveException hiển thị lỗi tải/lưu với thông báo rõ ràngTải một tệp bằng Image.load để nhận một đối tượng PsdImage cho các thành viên riêng của PSD.
from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")
Giới hạn lớp và chế độ hòa trộn có thể được thay đổi tại chỗ và lưu lại vào đĩa.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("test.psd") as image:
image.layers[0].left = 10
image.layers[0].top = 20
image.layers[0].right = 40
image.layers[0].bottom = 60
image.layers[0].blend_mode_key = BlendMode.MULTIPLY
image.save("edited.psd")
with PsdImage.load("edited.psd") as reloaded:
print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")
Thông tin kênh có thể được đọc nhưng không thể gán lại — việc cố gắng đặt nó sẽ gây ra NotSupportedException.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
layer = image.layers[0]
channel_information = layer.channel_information
print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
# layer.channel_information = channel_information # raises NotSupportedException
Aspose.PSD FOSS for Python được cấp phép theo MIT. Bạn có thể sử dụng, sửa đổi và phân phối lại nó theo các điều khoản của giấy phép MIT, bao gồm cả trong các sản phẩm thương mại.
Xem phần cài đặt ở trên để biết lệnh cài đặt hiện tại.
Nó tải lên và lưu các tệp PSD và PSB (Photoshop large document). Nó không render hoặc xuất dữ liệu pixel sang các định dạng raster khác như PNG hoặc JPEG.
PsdImage (một lớp con của Image). Tải tài liệu bằng PsdImage.load, sau đó đọc bộ sưu tập layers và các thuộc tính tiêu đề.
Vâng — Layer cung cấp một setter hoạt động cho một số thuộc tính, chẳng hạn như khả năng hiển thị và tên, và PsdImage.layers tự nó có một setter hoạt động để thay thế bộ sưu tập. Một vài thuộc tính cụ thể (thông tin kênh, dữ liệu mặt nạ, phạm vi hòa trộn, và một số tài nguyên cấp tài liệu) là chỉ đọc trong bản dựng FOSS này và sẽ ném NotSupportedException nếu được đặt.