PsdImage와 Layer를 중심으로 하는 가볍고 독립적인 API를 제공하여
Layer, Python 개발자가 네이티브 종속성 없이 PSD 문서 구조에 프로그래밍 방식으로 접근할 수 있게 합니다
컴파일에 필요한 네이티브 종속성이 없습니다. 라이브러리는 PSD/PSB 파일의 차원, 색상 모드, 비트 깊이 및 압축
방식을 읽고, PsdImage.layers를 통해 모든 레이어를 노출합니다: 각 Layer는 이름을 보고합니다,
경계, 불투명도, 가시성 및 블렌드 모드 키(BlendMode)를 보고하며, 하위 수준의
채널 정보(ChannelInformation)와 마스크 데이터(LayerMaskData)를 제공합니다. 레이어 메타데이터의 일부
— 이름, 경계(left/top/right/bottom), 및 블렌드 모드 — 는
현장에서 수정하고 PsdImage.save()를 사용해 디스크에 다시 저장할 수 있으며; 나머지는
이 FOSS 빌드에서는 설계상 읽기 전용입니다. Aspose.PSD FOSS for Python은 MIT 라이선스입니다. 설치하려면
pip install aspose-psd-foss — 이 라이브러리는 서드파티 네이티브
종속성이 없으며, 오직 Python 표준 라이브러리만 사용합니다. 엔터프라이즈 제품군에 대해서는 Aspose.PSD — Enterprise Product Family를 참고하십시오.Image.load(file_path) 은 파일을 열고 PsdImage 인스턴스를 반환합니다PsdImage.width, height, channels_count 은 캔버스 크기와 채널 수를 보고합니다PsdImage.layers 은 문서 순서대로 Layer 객체의 전체 목록을 반환합니다PsdImage.layers는 문서 순서대로 모든 Layer를 반환합니다; 각 Layer는 name, bounds, opacity, is_visible, 그리고 blend_mode_key를 노출합니다Layer.channel_information은 더 깊은 검사를 위해 채널 메타데이터를 노출합니다Layer.channels_count는 레이어가 가지고 있는 이미지 채널 수를 보고합니다PsdImage.layers 자체를 재할당하여 레이어를 제거하거나 순서를 변경할 수 있습니다Layer.name, Layer.left/top/right/bottom, 및 Layer.blend_mode_key는 직접 설정할 수 있습니다PsdImage.save(file_path)는 수정된 문서를 디스크에 저장합니다PsdImage.load로 저장된 파일을 다시 로드하면 편집이 올바르게 라운드트립됨을 확인할 수 있습니다NotSupportedException을 발생시킵니다 — 이 빌드는 전체 재작성은 지원하지 않고 메타데이터 전용 편집만 지원합니다Layer.channel_information 은(는) 채널당 메타데이터 컬렉션을 노출합니다Layer.has_mask_data 와 has_blending_ranges_data 은(는) 선택적 섹션이 존재하는지 보고합니다PsdLoadException 와 PsdSaveException 은(는) 명확한 메시지와 함께 로드/저장 오류를 표시합니다PSD 전용 멤버를 위해 Image.load를 사용하여 파일을 로드하고 PsdImage 인스턴스를 가져옵니다.
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)}")
레이어 경계와 블렌드 모드는 제자리에서 변경하고 디스크에 다시 저장할 수 있습니다.
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}")
채널 정보는 읽을 수 있지만 재할당할 수 없습니다 — 설정을 시도하면 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은 MIT 라이선스를 따릅니다. MIT 라이선스 조건에 따라 사용, 수정 및 재배포가 가능하며, 상업 제품에도 포함할 수 있습니다.
위의 설치 섹션에서 현재 설치 명령을 확인하십시오.
PSD 및 PSB(Photoshop 대용량 문서) 파일을 로드하고 저장합니다. PNG나 JPEG와 같은 다른 래스터 형식으로 픽셀 데이터를 렌더링하거나 내보내지 않습니다.
PsdImage (Image의 하위 클래스). PsdImage.load로 문서를 로드한 다음, 해당 문서의 layers 컬렉션과 헤더 속성을 읽습니다.
예 — Layer는 가시성 및 이름과 같은 여러 속성에 대한 작동하는 setter를 제공하고, PsdImage.layers 자체도 컬렉션을 교체하기 위한 작동하는 setter를 가지고 있습니다. 특정 몇몇 속성(채널 정보, 마스크 데이터, 블렌딩 범위 및 일부 문서 수준 리소스)은 이 FOSS 빌드에서 읽기 전용이며, 설정할 경우 NotSupportedException을 발생시킵니다.