문제 해결 Aspose.PSD FOSS for .NET

문제 해결 Aspose.PSD FOSS for .NET

문제 해결 Aspose.PSD FOSS for .NET

이 페이지에서는 Aspose.PSD FOSS for .NET를 사용하여 PSD/PSB 문서를 로드, 검사 및 저장할 때 발생하는 가장 일반적인 문제들을 다룹니다.


로드 문제

PsdLoadException에서 지원되지 않는 버전에 대한 메시지

파일에 선언된 PSD 버전 필드가 표준 PSD도 아니고 대용량 문서인 PSB 값도 아닙니다. 로드하기 전에 파일이 진정한 손상되지 않은 PSD/PSB 문서인지 확인하십시오:

try
{
    using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}

PsdLoadException에서 섹션 길이가 경계를 초과했다는 메시지

파일의 내부 길이 필드가 실제 크기와 일치하지 않습니다 — 이는 일반적으로 파일이 잘리었거나 손상되었음을 의미하며, 지원되지 않는 구조를 사용했다는 뜻은 아닙니다. 원본 애플리케이션에서 파일을 다시 내보낸 뒤 다시 시도하십시오.


저장 문제

PsdSaveException에 대한 Pascal 문자열 길이

문자열 값 — 대부분 레이어 또는 리소스 이름 — 이 255바이트를 초과했습니다. 이는 PSD Pascal 문자열 필드가 인코딩할 수 있는 최대값입니다:

layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");

편집 문제

NotSupportedException 속성을 설정할 때

이 FOSS 빌드에서는 여러 속성이 읽기 전용입니다. PsdImage에서는: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Layer에서는: ChannelInformation, LayerMaskData, LayerBlendingRangesData. 이를 get-only로 취급하십시오 — 할당하지 마세요.

레이어 불투명도가 설정 후 잘못 표시됩니다

Layer.Opacity은(는) 0-255 범위의 byte이며, 0.0-1.0 소수 또는 퍼센트가 아닙니다:

layer.Opacity = 200; // approximately 78% opaque, not 200%

레이어 제거가 적용되지 않습니다.

PsdImage.Layers은(는) 컬렉션 수준에서 작동하는 세터가 있지만, 개별 배열 요소를 그대로 제거할 수 없습니다 — 전체 필터링된 배열을 다시 할당하십시오:

image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();

설치 문제

패키지를 찾을 수 없습니다

패키지 정확한 식별자를 확인하십시오:

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

진단 체크리스트

지원 이슈를 열기 전에, 이 체크리스트를 실행하십시오:

  1. 파일이 실제로 PSD/PSB인지 확인하십시오 — a PsdLoadException 지원되지 않는 버전에 관한 것은 보통 파일이 실제 PSD/PSB 문서가 아님을 의미합니다.
  2. 다음 항목을 확인하십시오 NotSupportedException — 위에 나열된 7개의 읽기 전용 속성 중 하나를 설정하고 있을 수 있으며, 읽는 것이 아닙니다.
  3. Verify Opacity 0-255 범위에 있습니다, 0.0-1.0 또는 0-100이 아닙니다.
  4. 문자열 값은 255바이트 이하로 유지하십시오 저장하기 전에, 방지하기 위해 PsdSaveException.
  5. Call image.Save 각 편집 후에 — 변경 사항은 Layer 인스턴스는 문서가 저장될 때까지 지속되지 않습니다.

참조

 한국어