스마트 필터 스마트 개체 PSD csharp

스마트 필터는 이미지를 비파괴적으로 편집하는 데 사용됩니다. 필터 설정을 유지하므로 다시 편집할 수 있으며 필요한 경우 이미지에서 조정하거나 제거할 수 있습니다. 또한 레이어가 스마트 개체인 경우 하나 이상의 스마트 필터를 추가할 수 있습니다. 이 문서에서는 스마트 필터를 편집 및 업데이트하고 GaussianBlurSmartFilter, AddNoiseSmartFilter 등과 같은 새 필터를 C#에서 프로그래밍 방식으로 이미지에 추가하는 방법을 다룹니다.

PSD 파일의 스마트 필터 및 스마트 개체 작업 – C# API 설치

C# .NET에서 프로그래밍 방식으로 PSD 이미지를 사용하려면 Aspose.PSD for .NET API를 설치해야 합니다. 다운로드 섹션에서 DLL 파일을 빠르게 다운로드하거나 Visual Studio IDE에서 NuGet 설치 명령을 사용합니다.

PM> Install-Package Aspose.PSD

C#에서 스마트 필터 및 스마트 개체 추가, 편집 및 업데이트

아래 단계에 따라 PSD 파일의 스마트 개체에 새 스마트 필터를 편집, 업데이트 또는 추가할 수 있습니다.

  • Image 클래스를 사용하여 입력 PSD 이미지를 로드합니다.
  • 입력 파일에서 스마트 개체 레이어를 로드합니다.
  • 스마트 필터를 편집하고 반경, 혼합 모드, 불투명도 등과 같은 속성을 확인하십시오.
  • 필터 속성을 업데이트하고 가우시안 블러, 노이즈 추가 등과 같은 새로운 스마트 필터를 추가합니다.
  • 업데이트된 필터와 함께 출력 파일을 저장하고 업데이트된 속성을 확인합니다.

아래 코드 조각은 C#에서 프로그래밍 방식으로 PSD 이미지의 스마트 개체에 대한 스마트 필터를 편집, 업데이트 또는 추가하는 방법을 보여줍니다.

            var sourceFilter = "r2_SmartFilters.psd";
            var outputPsd = "output.psd";

            using (var image = (PsdImage)Image.Load(sourceFilter))
            {
                SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];

                // 스마트 필터 편집
                GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

                // 필터 값 확인
                Console.WriteLine("Radius: " + gaussianBlur.Radius); // 3.1
                Console.WriteLine("Blend Mode: " + gaussianBlur.BlendMode); // BlendMode.Dissolve
                Console.WriteLine("Opacity: " + gaussianBlur.Opacity); // 90d
                Console.WriteLine("GuassianBlurEnabled: " + gaussianBlur.IsEnabled); // true

                // 필터 값 업데이트
                gaussianBlur.Radius = 1;
                gaussianBlur.BlendMode = BlendMode.Divide;
                gaussianBlur.Opacity = 75;
                gaussianBlur.IsEnabled = false;
                AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
                addNoise.Distribution = NoiseDistribution.Uniform;

                // 새 필터 항목 추가
                var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
                filters.Add(new GaussianBlurSmartFilter());
                filters.Add(new AddNoiseSmartFilter());
                smartObj.SmartFilters.Filters = filters.ToArray();

                // 변경 승인
                smartObj.SmartFilters.UpdateResourceValues();

                // 필터 적용
                smartObj.SmartFilters.Filters[0].Apply(image.Layers[2]);
                smartObj.SmartFilters.Filters[4].ApplyToMask(image.Layers[2]);

                image.Save(outputPsd);
            }

            using (var image = (PsdImage)Image.Load(outputPsd))
            {
                SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];

                GaussianBlurSmartFilter gaussianBlur = (Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

                // 필터 값 확인
                Console.WriteLine("\n\n");
                Console.WriteLine("Radius: " + gaussianBlur.Radius); // 1d
                Console.WriteLine("Blend Mode: " + gaussianBlur.BlendMode); // BlendMode.Divide
                Console.WriteLine("Opacity: " + gaussianBlur.Opacity); // 75d
                Console.WriteLine("GuassianBlurEnabled: " + gaussianBlur.IsEnabled); // false

                Console.WriteLine(smartObj.SmartFilters.Filters[5] is GaussianBlurSmartFilter); // true
                Console.WriteLine(smartObj.SmartFilters.Filters[6] is AddNoiseSmartFilter); // true
            }

아래 스크린샷은 위의 코드 조각을 실행한 후 콘솔에서 생성된 샘플 출력을 보여줍니다.

또한 참고용으로 이 링크에서 입력 및 출력 파일을 다운로드할 수 있습니다.

API 기능 살펴보기

PSD 및 기타 이미지로 작업할 수 있는 다른 많은 클래스와 속성이 있습니다. 자세한 내용은 문서 섹션을 참조하십시오.

무료 평가판 라이선스 받기

무료 임시 라이선스를 요청하면 평가 제한 없이 API를 평가할 수 있습니다.

결론

이 문서에서는 C#에서 프로그래밍 방식으로 PSD 이미지의 스마트 개체에 대한 스마트 필터를 사용하는 방법을 배웠습니다. 이미지에서 기존 스마트 필터를 편집 및 업데이트하고 GaussianBlurSmartFilter, AddNoiseSmartFilter 등과 같은 새로운 스마트 필터를 이미지에 추가하는 방법에 대해 설명합니다. 또한 API가 다른 도구에 의존하지 않기 때문에 이 기능을 사용하기 위해 Photoshop이나 다른 이미지 처리 응용 프로그램을 설치할 필요가 없다는 점은 주목할 만합니다. 질문이나 우려 사항이 있는 경우 포럼으로 문의해 주십시오.

또한보십시오

C#에서 프로그래밍 방식으로 이미지에 서명 추가