מסננים חכמים חפצים חכמים PSD csharp

מסננים חכמים משמשים כדי לאפשר עריכה לא הרסנית של תמונה. הם ניתנים לעריכה מחדש מכיוון שהם שומרים על הגדרות המסנן וניתן לכוונן או להסיר מהתמונה במידת הצורך. יתר על כן, ניתן להוסיף מסנן חכם אחד או יותר בתנאי ששכבה היא אובייקט חכם. מאמר זה מכסה כיצד לערוך ולעדכן מסננים חכמים וכן להוסיף מסננים חדשים כמו GaussianBlurSmartFilter, AddNoiseSmartFilter וכו’ לתמונה באופן תכנותי ב-C#.

עבודה עם מסננים חכמים ואובייקטים חכמים בקובץ PSD - התקנת API של C#

עליך להתקין את API של Aspose.PSD for .NET כדי לעבוד עם תמונות PSD באופן פרוגרמטי ב-C# .NET. הורד במהירות את קובץ ה-DLL שלו ממקטע ההורדות או השתמש בפקודת ההתקנה NuGet ב-Visual Studio IDE:

PM> Install-Package Aspose.PSD

הוסף, ערוך ועדכן מסננים חכמים ואובייקטים חכמים ב-C#

ניתן לערוך, לעדכן או להוסיף מסננים חכמים חדשים לאובייקטים החכמים בקובץ PSD על ידי ביצוע השלבים הבאים:

  • טען את תמונת ה-PSD הקלט באמצעות המחלקה Image.
  • טען את שכבת האובייקט החכם מקובץ הקלט.
  • ערוך את המסנן החכם ובדוק את המאפיינים שלו כמו רדיוס, מצב מיזוג, אטימות וכו'.
  • עדכן את מאפייני הסינון והוסף מסננים חכמים חדשים כמו טשטוש גאוס, הוסף רעש וכו'.
  • שמור את קובץ הפלט עם מסננים מעודכנים ובדוק מאפיינים מעודכנים.

קטע הקוד שלהלן מראה כיצד לערוך, לעדכן או להוסיף מסננים חכמים על אובייקטים חכמים בתמונת 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 ללא כל מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].

סיכום

במאמר זה, למדת כיצד לעבוד עם מסננים חכמים על אובייקטים חכמים בתמונת PSD באופן פרוגרמטי ב-C#. הוא דן כיצד לערוך ולעדכן מסננים חכמים קיימים בתמונה, כמו גם להוסיף מסננים חכמים חדשים כמו GaussianBlurSmartFilter, AddNoiseSmartFilter וכו’ לתמונה. יתר על כן, ראוי לציין כאן שאינך צריך להתקין שום פוטושופ, או כל יישום אחר לעיבוד תמונה כדי לעבוד עם תכונה זו מכיוון שה-API אינו תלוי בכלי אחר. במקרה שיש לך שאלות או חששות, אנא כתוב לנו בפורום.

ראה גם

הוסף חתימה לתמונה באופן פרוגרמטי ב-C#