PSD(Photoshop Document)는 Adobe의 인기 있는 Photoshop 응용 프로그램에서 사용하는 기본 이미지 파일 형식입니다. PSD 파일에 여러 레이어가 포함된 로고, 브로셔 및 기타 이미지를 만드는 데 일반적으로 사용됩니다. 어떤 경우에는 PSD 파일을 프로그래밍 방식으로 조작해야 할 수도 있습니다. 이 기사에서는 C#을 사용하여 PSD에 새 레이어를 추가하는 방법을 배웁니다.
이 기사에서는 다음 주제를 다룹니다.
PSD에 새 레이어를 추가하는 C# API
PSD 파일에 새 레이어를 생성하기 위해 Aspose.PSD for .NET API를 사용할 것입니다. PSD 및 기타 여러 지원되는 파일 형식 생성, 편집 또는 조작을 지원합니다.
API의 PsdImage 클래스를 사용하면 PSD 파일을 로드, 편집 및 저장할 수 있습니다. 이 클래스의 AddRegularLayer() 메서드는 새로운 일반 레이어를 추가합니다. 반면 AddTextLayer(string, Rectangle) 메서드는 PSD에 새 텍스트 레이어를 추가합니다. 이 클래스는 PSD를 지정된 파일 위치에 저장하는 Save(string) 메서드도 제공합니다.
API의 DLL 다운로드 또는 NuGet을 사용하여 설치하십시오.
PM> Install-Package Aspose.PSD
C#을 사용하여 PSD에 새 레이어 추가
아래 단계에 따라 PSD 파일에 새 레이어를 추가할 수 있습니다.
- 먼저 Image 클래스를 사용하여 PSD 파일을 PsdImage로 로드합니다.
- 다음으로 Rectangle과 같이 추가할 객체를 준비합니다.
- 그런 다음 AddRegularLayer() 메서드를 호출합니다.
- 선택적으로 위쪽, 왼쪽, 오른쪽 및 아래쪽과 같은 레이어 위치를 설정합니다.
- 그런 다음 SaveArgb32Pixels() 메서드를 사용하여 레이어에 개체를 할당합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 파일을 저장합니다.
다음 코드 샘플은 C#에서 PSD 파일에 새 레이어를 추가하는 방법을 보여줍니다.
// 이 코드 예제는 PSD 이미지 파일에서 새 레이어를 만드는 방법을 보여줍니다.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\OneLayerEdited.psd";
// 기존 PSD 로드
var im = (PsdImage)Image.Load(sourceFileName);
// 두 개의 int 배열 준비
var data1 = new int[2500];
var data2 = new int[2500];
// 직사각형 정의
var rect1 = new Rectangle(0, 0, 50, 50);
var rect2 = new Rectangle(0, 0, 100, 25);
for (int i = 0; i < 2500; i++)
{
data1[i] = -10000000;
data2[i] = -10000000;
}
// 레이어 1 추가
var layer1 = im.AddRegularLayer();
layer1.Left = 25;
layer1.Top = 25;
layer1.Right = 75;
layer1.Bottom = 75;
layer1.SaveArgb32Pixels(rect1, data1);
// 레이어 2 추가
var layer2 = im.AddRegularLayer();
layer2.Left = 25;
layer2.Top = 150;
layer2.Right = 125;
layer2.Bottom = 175;
layer2.SaveArgb32Pixels(rect2, data2);
// PSD 저장
im.Save(exportPath, new PsdOptions());
C#을 사용하여 PSD에 새 텍스트 레이어 추가
아래 단계에 따라 PSD 파일에 새 텍스트 레이어를 추가할 수 있습니다.
- 먼저 Image 클래스를 사용하여 PSD 파일을 PsdImage로 로드합니다.
- 다음으로 Rectangle을 정의합니다.
- 그런 다음 AddTexLayer() 메서드를 호출합니다. 텍스트 입력과 직사각형 객체를 인수로 취합니다.
- 그런 다음 Top, Left, Right, Bottom 등의 레이어 위치를 설정합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 파일을 저장합니다.
다음 코드 샘플은 C#에서 PSD 파일에 새 텍스트 레이어를 추가하는 방법을 보여줍니다.
// 이 코드 예제는 PSD 이미지 파일에서 새 레이어를 만드는 방법을 보여줍니다.
string sourceFileName = @"C:\Files\PSD\OneLayer.psd";
string exportPath = @"C:\Files\PSD\TextLayer.psd";
// 기존 PSD 로드
var im = (PsdImage)Image.Load(sourceFileName);
// 텍스트 레이어 추가
var layer1 = im.AddTextLayer("Hello", new Rectangle(0, 0, 120, 50));
layer1.Left = 10;
layer1.Top = 25;
// PSD 저장
im.Save(exportPath, new PsdOptions());
C#을 사용하여 PSD의 이미지에서 새 레이어 만들기
아래 단계에 따라 PNG 또는 JPG 이미지의 새 레이어를 PSD 파일에 추가할 수도 있습니다.
- 먼저 Image 클래스를 사용하여 PSD 파일을 PsdImage로 로드합니다.
- 그런 다음 스트림에서 PNG 이미지 파일을 엽니다.
- 그런 다음 스트림 개체를 사용하여 Layer 클래스의 인스턴스를 만듭니다.
- 그런 다음 AddLayer() 메서드를 호출합니다. Layer 객체를 인수로 사용합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 파일을 저장합니다.
다음 코드 샘플은 PNG 이미지의 새 레이어를 C#의 PSD 파일에 추가하는 방법을 보여줍니다.
// 이 코드 예제는 PSD 이미지 파일의 PNG 이미지에서 새 레이어를 만드는 방법을 보여줍니다.
string outputFilePath = @"C:\Files\PSD\PsdResult.psd";
// 새 PSD 이미지 만들기
var image = new PsdImage(200, 200);
// PNG 이미지 로드
string filePath = @"C:\Files\PSD\aspose_logo.png";
var stream = new FileStream(filePath, FileMode.Open);
Layer layer = null;
try
{
// PSD에 레이어 추가
layer = new Layer(stream);
image.AddLayer(layer);
}
catch (Exception e)
{
if (layer != null)
{
layer.Dispose();
}
throw e;
}
// PSD 저장
image.Save(outputFilePath);
무료 임시 라이센스 받기
평가 제한 없이 Aspose.PSD for .NET을 사용해 보려면 무료 임시 라이선스를 얻으십시오.
결론
이 문서에서는 다음 방법을 배웠습니다.
- 새 PSD 이미지를 만듭니다.
- PSD 이미지에 새 일반 레이어와 텍스트 레이어를 만듭니다.
- C#을 사용하여 PSD에 PNG 또는 JPG 이미지를 새 레이어로 삽입합니다.
또한 문서를 사용하여 .NET용 Aspose.PSD에 대해 자세히 알아보고 API에서 지원하는 다양한 기능을 탐색할 수 있습니다. 모호한 부분이 있는 경우 포럼에서 언제든지 문의해 주십시오.