ตัวกรองอัจฉริยะ วัตถุอัจฉริยะ PSD csharp

ตัวกรองอัจฉริยะใช้เพื่อเปิดใช้งานการแก้ไขภาพโดยไม่ทำลาย สามารถแก้ไขซ้ำได้เนื่องจากยังคงการตั้งค่าตัวกรองไว้ และสามารถปรับหรือลบออกจากภาพได้หากจำเป็น ยิ่งไปกว่านั้น คุณสามารถเพิ่มตัวกรองอัจฉริยะอย่างน้อยหนึ่งตัวได้หากเลเยอร์นั้นเป็นวัตถุอัจฉริยะ บทความนี้ครอบคลุมถึงวิธีการแก้ไขและอัปเดตตัวกรองอัจฉริยะ ตลอดจนเพิ่มตัวกรองใหม่ เช่น GaussianBlurSmartFilter, AddNoiseSmartFilter เป็นต้น ให้กับรูปภาพโดยทางโปรแกรมใน C#

ทำงานกับตัวกรองอัจฉริยะและวัตถุอัจฉริยะในไฟล์ PSD – การติดตั้ง C# API

คุณต้องติดตั้ง Aspose.PSD for .NET API เพื่อทำงานกับภาพ PSD โดยทางโปรแกรมใน C# .NET ดาวน์โหลดไฟล์ DLL อย่างรวดเร็วจากส่วนดาวน์โหลดหรือใช้คำสั่งการติดตั้ง NuGet ใน Visual Studio IDE:

PM> Install-Package Aspose.PSD

เพิ่ม แก้ไข และอัปเดตตัวกรองอัจฉริยะและวัตถุอัจฉริยะใน C#

คุณสามารถแก้ไข อัปเดต หรือเพิ่มตัวกรองอัจฉริยะใหม่ให้กับวัตถุอัจฉริยะในไฟล์ PSD โดยทำตามขั้นตอนด้านล่าง:

  • โหลดภาพ PSD อินพุตโดยใช้คลาส Image
  • โหลดเลเยอร์วัตถุอัจฉริยะจากไฟล์อินพุต
  • แก้ไขตัวกรองอัจฉริยะและตรวจสอบคุณสมบัติของมัน เช่น รัศมี โหมดผสมผสาน ความทึบ ฯลฯ
  • อัปเดตคุณสมบัติตัวกรองและเพิ่มตัวกรองอัจฉริยะใหม่ เช่น Gaussian blur, Add Noise เป็นต้น
  • บันทึกไฟล์เอาต์พุตด้วยตัวกรองที่อัปเดตและตรวจสอบคุณสมบัติที่อัปเดต

ข้อมูลโค้ดด้านล่างแสดงวิธีแก้ไข อัปเดต หรือเพิ่มตัวกรองอัจฉริยะบนวัตถุอัจฉริยะในรูปภาพ PSD โดยทางโปรแกรมใน C#:

            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 ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับ Smart Filters บน Smart Objects ในรูปภาพ PSD โดยทางโปรแกรมใน C# โดยจะกล่าวถึงวิธีการแก้ไขและอัปเดตตัวกรองอัจฉริยะที่มีอยู่ในรูปภาพ ตลอดจนเพิ่มตัวกรองอัจฉริยะใหม่ เช่น GaussianBlurSmartFilter, AddNoiseSmartFilter ฯลฯ ลงในรูปภาพ นอกจากนี้ เป็นที่น่าสังเกตว่าคุณไม่จำเป็นต้องติดตั้ง Photoshop หรือแอปพลิเคชันประมวลผลรูปภาพอื่นใดเพื่อใช้งานคุณลักษณะนี้ เนื่องจาก API ไม่ได้ขึ้นอยู่กับเครื่องมืออื่นใด ในกรณีที่คุณมีคำถามหรือข้อกังวลใดๆ โปรดเขียนถึงเราที่ ฟอรัม

ดูสิ่งนี้ด้วย

เพิ่มลายเซ็นลงในรูปภาพโดยทางโปรแกรมใน C#