Photoshop에서 채우기 레이어 추가

사진은 정보를 반영하는 매우 유용한 방법입니다. PSD 형식 파일은 이미지를 만드는 데 사용됩니다. 그러나 같은 줄을 따라 여러 Photoshop 파일을 편집하는 것과 같은 시나리오가 있을 수 있습니다. 예를 들어 사진 처리 응용 프로그램은 다른 작업과 함께 여러 Photoshop 문서에 레이어를 추가해야 할 수 있습니다. Aspose.PSD for .NET API는 PSD, PSB, AI 및 기타 여러 파일 형식과 작업할 수 있는 많은 기능을 제공합니다. PSD 파일에 레이어를 추가하는 것과 관련된 다음 사용 사례를 살펴보겠습니다.

C#을 사용하여 Photoshop 문서에서 런타임 시 채우기 레이어 추가

.NET API용 Aspose.PSD는 PSD 파일에서 채우기 레이어 생성을 지원합니다. 반드시 기존 파일에서 레이어를 로드할 필요는 없습니다. PSD 파일에서 런타임에 채우기 레이어를 추가하려면 다음 단계를 따르십시오.

  1. 페이지 차원으로 PsdImage 클래스의 인스턴스 초기화
  2. FillLayer 클래스의 인스턴스 생성
  3. 레이어의 표시 이름 설정
  4. 이미지에 레이어 추가

다음 코드 조각은 C#을 사용하여 Photoshop에서 채우기 레이어를 추가하는 방법을 보여줍니다.

string outputFilePath = Path.Combine(dataDir, "output.psd");

using (var image = new PsdImage(100, 100))
{
    FillLayer colorFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Color);
    colorFillLayer.DisplayName = "Color Fill Layer";
    image.AddLayer(colorFillLayer);

    FillLayer gradientFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Gradient);
    gradientFillLayer.DisplayName = "Gradient Fill Layer";
    image.AddLayer(gradientFillLayer);

    FillLayer patternFillLayer = FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType.Pattern);
    patternFillLayer.DisplayName = "Pattern Fill Layer";
    patternFillLayer.Opacity = 50;
    image.AddLayer(patternFillLayer);

    image.Save(outputFilePath);
}

이 코드 조각은 아래 스크린샷이 위의 C# 코드에서 설정한 대로 정확히 세 개의 채우기 레이어 이름을 표시하는 지정된 치수의 PSD 파일을 생성합니다.

Photoshop에서 레이어 추가

C#을 사용하여 PSD 파일에 기존 채우기 레이어 추가

우리는 이미 새로운 채우기 레이어를 만들고 추가하는 방법을 배웠습니다. 기존 Photoshop 파일에서 레이어를 추가하는 방법을 알아보겠습니다. 다음은 기존 채우기 레이어를 추가할 수 있는 가능성입니다.

i) C#을 사용하여 패턴 채우기로 채우기 레이어 추가

패턴 채우기에는 영역을 채우기 위한 이미지, 선 또는 그림자가 있을 수 있습니다. PSD 이미지에 패턴 채우기가 있는 레이어를 추가하려면 아래 단계를 따라야 합니다.

  1. 소스 PSD 파일 로드
  2. 모든 레이어를 반복하고 FillLayer를 확인합니다.
  3. 레이어에 대해 다른 설정 지정
  4. 채우기 레이어 편집
  5. 이미지 저장

아래 코드 조각은 C#을 사용하여 패턴 채우기로 채우기 레이어를 추가하는 방법을 보여줍니다.

// 채우기 레이어 지원 추가: 패턴
string sourceFileName = dataDir + "PatternFillLayer.psd";
string exportPath = dataDir + "PatternFillLayer_Edited.psd";
double tolerance = 0.0001;
var im = (PsdImage)Image.Load(sourceFileName);
using (im)
{
    foreach (var layer in im.Layers)
    {
        if (layer is FillLayer)
        {
            FillLayer fillLayer = (FillLayer)layer;
            PatternFillSettings fillSettings = (PatternFillSettings)fillLayer.FillSettings;
            if (fillSettings.HorizontalOffset != -46 ||
                fillSettings.VerticalOffset != -45 ||
                fillSettings.PatternId != "a6818df2-7532-494e-9615-8fdd6b7f38e5" ||
                fillSettings.PatternName != "$$$/Presets/Patterns/OpticalSquares=Optical Squares" ||
                fillSettings.AlignWithLayer != true ||
                fillSettings.Linked != true ||
                fillSettings.PatternHeight != 64 ||
                fillSettings.PatternWidth != 64 ||
                fillSettings.PatternData.Length != 4096 ||
                Math.Abs(fillSettings.Scale - 50) > tolerance)
            {
                throw new Exception("PSD Image was read wrong");
            }
            // 편집 
            fillSettings.Scale = 300;
            fillSettings.HorizontalOffset = 2;
            fillSettings.VerticalOffset = -20;
            fillSettings.PatternData = new int[]
            {
           Color.Red.ToArgb(), Color.Blue.ToArgb(),  Color.Blue.ToArgb(),
           Color.Blue.ToArgb(), Color.Red.ToArgb(),  Color.Blue.ToArgb(),
           Color.Blue.ToArgb(), Color.Blue.ToArgb(),  Color.Red.ToArgb()
            };
            fillSettings.PatternHeight = 3;
            fillSettings.PatternWidth = 3;
            fillSettings.AlignWithLayer = false;
            fillSettings.Linked = false;
            fillSettings.PatternId = Guid.NewGuid().ToString();
            fillLayer.Update();
            break;
        }
    }
    im.Save(exportPath);
}

ii) C#을 사용하여 그라디언트 채우기로 채우기 레이어 추가

Photoshop 문서에서 레이어를 채우기 위해 그라디언트 채우기를 사용할 수도 있습니다. .NET API용 Aspose.PSD는 다음 유형의 그라디언트 채우기를 지원합니다.

  • 선의
  • 다이아몬드
  • 방사형
  • 반사
  • 각도

다음은 그라디언트 채우기로 레이어를 추가하는 단계입니다.

아래 코드 조각은 이러한 단계를 기반으로 하며 C#을 사용하여 Photoshop 문서에 GradientFill 레이어를 추가하는 방법을 보여줍니다.

string fileName = dataDir + "FillLayerGradient.psd";
GradientType[] gradientTypes = new[]
{
    GradientType.Linear, GradientType.Radial, GradientType.Angle, GradientType.Reflected, GradientType.Diamond
};
using (var image = Image.Load(fileName))
{
    PsdImage psdImage = (PsdImage)image;
    FillLayer fillLayer = (FillLayer)psdImage.Layers[0];
    GradientFillSettings fillSettings = (GradientFillSettings)fillLayer.FillSettings;
    foreach (var gradientType in gradientTypes)
    {
        fillSettings.GradientType = gradientType;
        fillLayer.Update();
        psdImage.Save(fileName + "_" + gradientType.ToString() + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
    }
}

이 코드 조각은 PSD 파일의 레이어에 각기 다른 종류의 그라디언트 채우기가 있는 5개의 다른 파일을 생성합니다.

iii) C#을 사용하여 색상 채우기로 채우기 레이어 추가

PSD 파일인 Photoshop Document에서 색상 채우기로 레이어를 추가할 수 있습니다. 색상 채우기로 채우기 레이어를 추가하거나 생성하려면 아래 단계를 따르십시오.

  1. 소스 PSD 이미지 로드
  2. 모든 레이어를 확인하고 FillLayer를 찾습니다.
  3. 레이어의 채우기 설정 읽기
  4. 채우기 색상 설정 및 레이어 업데이트
  5. PSD 이미지 저장

아래 코드 조각은 C#을 사용하여 Photoshop 문서에 채우기 레이어를 추가하는 방법을 보여 주는 앞서 언급한 단계를 기반으로 합니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-psd/Aspose.PSD-for-.NET으로 이동하십시오.

string sourceFileName = dataDir + "ColorFillLayer.psd";
string exportPath = dataDir + "ColorFillLayer_output.psd";

var im = (PsdImage)Image.Load(sourceFileName);

using (im)
{
    foreach (var layer in im.Layers)
    {
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;

            if (fillLayer.FillSettings.FillType != FillType.Color)
            {
                throw new Exception("Wrong Fill Layer");
            }

            var settings = (IColorFillSettings)fillLayer.FillSettings;

            settings.Color = Color.Red;
            fillLayer.Update();
            im.Save(exportPath);
            break;
        }
    }
}

결론

이 기사에서는 PSD 파일에 채우기 레이어를 추가할 수 있는 여러 가능성 중 몇 가지를 살펴보았습니다. 레이어를 처음부터 추가하는 방법과 기존 PSD 파일에서 레이어를 추가하는 방법을 배웠습니다. 다양한 유형의 그라디언트 채우기 레이어도 예제와 함께 설명됩니다. Aspose.PSD for .NET API에서 제공하는 다른 많은 흥미로운 기능이 있습니다. 문제가 있는 경우 무료 지원 포럼을 통해 언제든지 저희에게 연락해 주십시오.

또한보십시오