فیلترهای هوشمند اشیاء هوشمند PSD csharp

فیلترهای هوشمند برای فعال کردن ویرایش غیر مخرب یک تصویر استفاده می شود. آنها با حفظ تنظیمات فیلتر قابل ویرایش مجدد هستند و در صورت نیاز می توان آنها را تنظیم یا از تصویر حذف کرد. علاوه بر این، می‌توانید یک یا چند فیلتر هوشمند اضافه کنید، مشروط بر اینکه یک لایه یک شی هوشمند باشد. این مقاله نحوه ویرایش و به‌روزرسانی فیلترهای هوشمند و همچنین افزودن فیلترهای جدید مانند GaussianBlurSmartFilter، AddNoiseSmartFilter و غیره را به صورت برنامه‌نویسی در سی شارپ به تصویر می‌پردازد.

کار با فیلترهای هوشمند و اشیاء هوشمند در فایل PSD – نصب API C#

برای کار با تصاویر PSD به صورت برنامه نویسی در C#.NET باید Aspose.PSD for .NET API را نصب کنید. به سرعت فایل DLL آن را از بخش دانلودها دانلود کنید یا از دستور نصب NuGet در Visual Studio IDE استفاده کنید:

PM> Install-Package Aspose.PSD

افزودن، ویرایش و به روز رسانی فیلترهای هوشمند و اشیاء هوشمند در سی شارپ

با دنبال کردن مراحل زیر می‌توانید فیلترهای هوشمند جدید را به اشیاء هوشمند موجود در یک فایل PSD ویرایش، به‌روزرسانی یا اضافه کنید:

  • تصویر PSD ورودی را با استفاده از کلاس Image بارگیری کنید.
  • لایه شی هوشمند را از فایل ورودی بارگیری کنید.
  • فیلتر هوشمند را ویرایش کنید و ویژگی‌های آن مانند شعاع، حالت ترکیبی، کدورت و غیره را بررسی کنید.
  • ویژگی‌های فیلتر را به‌روزرسانی کنید و فیلترهای هوشمند جدیدی مانند تاری Gaussian، Add Noise و غیره اضافه کنید.
  • فایل خروجی را با فیلترهای به روز ذخیره کنید و ویژگی های به روز شده را بررسی کنید.

قطعه کد زیر نحوه ویرایش، به روز رسانی یا افزودن فیلترهای هوشمند را بر روی اشیاء هوشمند در یک تصویر 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 را بدون هیچ گونه محدودیت ارزیابی ارزیابی کنید.

نتیجه

در این مقاله نحوه کار با Smart Filters بر روی اشیاء هوشمند در یک تصویر PSD به صورت برنامه نویسی در سی شارپ را یاد گرفتید. در مورد چگونگی ویرایش و به روز رسانی فیلترهای هوشمند موجود در یک تصویر، و همچنین افزودن فیلترهای هوشمند جدید مانند GaussianBlurSmartFilter، AddNoiseSmartFilter و غیره به یک تصویر بحث می کند. علاوه بر این، در اینجا قابل ذکر است که برای کار با این ویژگی نیازی به نصب فتوشاپ یا برنامه پردازش تصویر دیگری ندارید زیرا API به هیچ ابزار دیگری وابسته نیست. در صورت داشتن هرگونه سوال یا نگرانی، لطفاً در [تالار گفتمان7 برای ما بنویسید.

همچنین ببینید

افزودن امضا به تصویر به صورت برنامه‌ریزی در سی شارپ