소개
Aspose.PSD FOSS for .NET은 .NET 코드에서 PSD 및 PSB(Photoshop 대형 문서) 파일을 처리하기 위한 새로운 오픈소스 라이브러리입니다. MIT 라이선스로 배포되며, 런타임에 .NET 10.0만 필요하고 다른 서드파티 종속성이 없습니다. 패키지는 using Aspose.PSD.FOSS;으로 가져옵니다.
라이브러리는 PsdImage 클래스를 중심으로 구성되며, 이 클래스는 추상 Image 기반 클래스를 확장하고 Layer 클래스를 포함합니다. Image.Load() / PsdImage.Load()는 파일 경로나 스트림에서 문서를 로드하여 헤더 정보(Width, Height, ColorMode, Version, Compression)와 파싱된 Layers 컬렉션을 노출합니다; PsdImage.Save()은 문서를 파일이나 스트림으로 다시 기록합니다. 각 Layer는 자체 메타데이터—Name, Bounds, IsVisible, Opacity, Clipping, BlendModeKey 및 채널/마스크 정보—를 제공하며, 이러한 속성 중 일부는 현장에서 수정하고 파일에 다시 저장할 수 있습니다.
이 릴리스는 상용 라이선스 없이 .NET 코드베이스 내에서 PSD/PSB 파일을 검사하거나 제한된 메타데이터 편집을 해야 하는 개발자를 위한 것입니다 — 레이어 구조를 보고하는 에셋 파이프라인 도구, 전달 전에 레이어 이름을 바꾸거나 가시성을 전환하는 빌드 스크립트, 전체 렌더링 엔진 없이 PSD 헤더와 레이어 데이터를 읽어야 하는 테스트 픽스처 등. 이 라이브러리는 픽셀 데이터를 렌더링하거나 PSD/PSB을 다른 이미지 포맷으로 변환하지 않으며 — PSD/PSB 컨테이너 포맷을 위한 메타데이터 중심의 리더/라이터입니다.
포함 내용
문서 검사
PsdImage.Load()은 PSD 또는 PSB 파일의 헤더를 타입이 지정된 속성—Width, Height, BitsPerChannel, ColorMode, Version, Compression, Size, IsFlatten—으로 파싱하며 픽셀 데이터를 디코딩하지 않습니다.
using var image = (PsdImage)Image.Load(inputPath);
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}");
Console.WriteLine($"ColorMode: {image.ColorMode}, Version: {image.Version}");
Console.WriteLine($"Layers: {image.Layers.Length}, Compression: {image.Compression}");
레이어 메타데이터
각 항목은 PsdImage.Layers에 있으며, 자체 경계, 가시성, 불투명도, 클리핑 및 블렌드 모드 메타데이터를 노출하는 Layer입니다.
foreach (var layer in image.Layers)
{
Console.WriteLine($"{layer.Name}: {layer.Bounds}, Visible={layer.IsVisible}, Opacity={layer.Opacity}");
}
지원되는 메타데이터 편집
레이어 속성의 일부는 PsdImage.Save()를 사용하여 제자리에서 변경하고 다시 기록할 수 있습니다: 이름, 가시성, 불투명도, 클리핑, 블렌드 모드 키, 그리고 네 개의 경계 가장자리.
Layer layer = image.Layers[0];
layer.Name = $"{layer.Name} (edited)";
layer.IsVisible = !layer.IsVisible;
layer.Opacity = 128;
layer.BlendModeKey = BlendMode.Multiply;
image.Save(outputPath);
빠른 시작
패키지를 설치한 후 PSD 또는 PSB 파일을 로드하고, 레이어를 검사한 뒤 다시 저장합니다:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet buildusing Aspose.PSD.FileFormats.Psd;
using var image = (PsdImage)Image.Load("input.psd");
Console.WriteLine($"Width: {image.Width}, Height: {image.Height}, Layers: {image.Layers.Length}");
foreach (var layer in image.Layers)
{
Console.WriteLine($" {layer.Name}: {layer.Bounds}");
}
image.Save("output.psd");
지원되는 포맷
| 형식 | 확장자 | 읽기 | 쓰기 |
|---|---|---|---|
| Photoshop 문서 | psd | ✓ | ✓ |
| Photoshop 대형 문서 | psb | ✓ | ✓ |
오픈 소스 및 라이선스
Aspose.PSD FOSS for .NET은 MIT 라이선스를 가지고 있으며, 로열티 없이 상업 제품에 사용할 수 있고 평가 워터마크나 사용 제한이 없습니다.
패키지는 버전 1.0.0이며 런타임에 .NET 10.0만 필요합니다 — 다른 서드파티 종속성이 없습니다.