소개

Aspose.PSD FOSS for .NET은(는) 소수의 클래스를 통해 PSD 및 PSB 문서를 로드하고, 검사하고, 저장합니다. 이 게시물은 소개 게시물에서 자세히 다루지 않은 핵심 API의 일부를 살펴봅니다: Image/PsdImage 상속 관계, 라이브러리 전반에 사용되는 기하학 값 유형, 그리고 라이브러리가 로드 및 저장 오류를 보고하는 방법.


포함 내용

이미지 및 PsdImage

Image은(는) 추상 기본 클래스이며 Width, Height, Bounds, Load(), Save(), Dispose()을(를) 노출합니다. PsdImage은(는) Image.Load()이(가) PSD/PSB 입력에 대해 반환하는 sealed 구체 구현이며, 결과를 PsdImage으로 캐스팅하면 문서의 나머지 표면인 ColorMode, Version, Layers, Compression, BitsPerChannel 등을 확인할 수 있습니다.

using var image = (PsdImage)Image.Load(inputPath);
Console.WriteLine($"Bounds: {image.Bounds}");       // from the Image base class
Console.WriteLine($"ColorMode: {image.ColorMode}");  // PsdImage-specific

기하학 값 유형

Point, Size, Rectangle, RectangleF은(는) API 전역에서 경계와 좌표에 사용되는 값 유형이며, Layer.Bounds와 Image.Bounds는 모두 Rectangle이고, PsdImage.Size은 Size입니다. Rectangle은 실제 기하학 메서드를 포함합니다: Contains(), Intersect(), Union(), Inflate(), FromLeftTopRightBottom() 등.

Rectangle layerBounds = image.Layers[0].Bounds;
Rectangle imageBounds = image.Bounds;

bool fullyInside = imageBounds.Contains(layerBounds);
Rectangle overlap = Rectangle.Intersect(imageBounds, layerBounds);
Console.WriteLine($"Layer fits inside image: {fullyInside}, overlap: {overlap}");

리소스 블록 및 예외

PsdImage.ImageResources은(는) 구문 분석된 ResourceBlock[] 배열을 반환합니다 — 각 블록은 ID, DataSize, Name, Signature를 노출합니다. 이 FOSS 빌드에서는 ImageResources, GlobalLayerResources, ActiveLayer, HasTransparencyData를 읽을 수는 있지만 재할당할 수 없습니다 — 각에는 호출될 경우 NotSupportedException을(를) 발생시키는 setter가 있으므로, 속성처럼 보이더라도 읽기 전용으로 취급하십시오.

로드 및 저장 오류는 두 개의 전용 예외 유형으로 나타납니다: 문서를 구문 분석할 수 없을 때는 PsdLoadException, 문서를 다시 쓸 수 없을 때는 PsdSaveException.

try
{
    using var image = (PsdImage)Image.Load(inputPath);
    foreach (ResourceBlock resource in image.ImageResources)
    {
        Console.WriteLine($"Resource {resource.ID}: {resource.Name} ({resource.DataSize} bytes)");
    }
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Failed to load {inputPath}: {ex.Message}");
}

빠른 시작

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet build
using Aspose.PSD.FileFormats.Psd;

try
{
    using var image = (PsdImage)Image.Load("input.psd");
    Console.WriteLine($"Bounds: {image.Bounds}, ColorMode: {image.ColorMode}");
    Console.WriteLine($"ImageResources: {image.ImageResources.Length}");
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Load failed: {ex.Message}");
}

지원되는 형식

형식확장자읽기쓰기
포토샵 문서psd✓✓
포토샵 대형 문서psb✓✓

오픈 소스 및 라이선스

Aspose.PSD FOSS for .NET은 MIT 라이선스로 제공되며 로열티 없이 상업 제품에 사용할 수 있고, 평가용 워터마크나 사용 제한이 없습니다.

패키지는 버전 1.0.0이며 런타임에 .NET 10.0만 필요합니다 — 다른 서드파티 의존성이 없습니다.


시작하기

관련 리소스