Inteligentní filtry se používají k umožnění nedestruktivní úpravy obrázku. Lze je znovu upravovat, protože si zachovávají nastavení filtru a v případě potřeby je lze upravit nebo z obrázku odstranit. Navíc můžete přidat jeden nebo více inteligentních filtrů za předpokladu, že vrstva je inteligentní objekt. Tento článek popisuje, jak upravit a aktualizovat inteligentní filtry a také přidat nové filtry, jako je GaussianBlurSmartFilter, AddNoiseSmartFilter atd., do obrázku programově v C#.
- Práce s inteligentními filtry a inteligentními objekty v souboru PSD – Instalace C# API
- Přidat, upravit a aktualizovat inteligentní filtry a inteligentní objekty v C#
Práce s inteligentními filtry a inteligentními objekty v souboru PSD – Instalace C# API
Abyste mohli programově pracovat s obrazy PSD v C# .NET, musíte si nainstalovat Aspose.PSD for .NET API. Rychle si stáhněte jeho soubor DLL ze sekce Stahování nebo použijte instalační příkaz NuGet v IDE sady Visual Studio:
PM> Install-Package Aspose.PSD
Přidat, upravit a aktualizovat inteligentní filtry a inteligentní objekty v C#
Můžete upravit, aktualizovat nebo přidat nové inteligentní filtry k inteligentním objektům v souboru PSD podle následujících kroků:
- Načtěte vstupní obrázek PSD pomocí třídy Image.
- Načtěte vrstvu inteligentního objektu ze vstupního souboru.
- Upravte inteligentní filtr a zkontrolujte jeho vlastnosti, jako je poloměr, režim prolnutí, krytí atd.
- Aktualizujte vlastnosti filtru a přidejte nové inteligentní filtry, jako je Gaussovské rozostření, Přidat šum atd.
- Uložte výstupní soubor s aktualizovanými filtry a zkontrolujte aktualizované vlastnosti.
Níže uvedený úryvek kódu ukazuje, jak upravit, aktualizovat nebo přidat inteligentní filtry na inteligentní objekty v obrázku PSD programově v C#:
var sourceFilter = "r2_SmartFilters.psd";
var outputPsd = "output.psd";
using (var image = (PsdImage)Image.Load(sourceFilter))
{
SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];
// upravit chytré filtry
GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];
// zkontrolujte hodnoty filtru
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
// aktualizovat hodnoty filtru
gaussianBlur.Radius = 1;
gaussianBlur.BlendMode = BlendMode.Divide;
gaussianBlur.Opacity = 75;
gaussianBlur.IsEnabled = false;
AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
addNoise.Distribution = NoiseDistribution.Uniform;
// přidat nové položky filtru
var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
filters.Add(new GaussianBlurSmartFilter());
filters.Add(new AddNoiseSmartFilter());
smartObj.SmartFilters.Filters = filters.ToArray();
// aplikuj změny
smartObj.SmartFilters.UpdateResourceValues();
// Použijte filtry
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];
// zkontrolujte hodnoty filtru
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
}
Níže uvedený snímek obrazovky ukazuje ukázkový výstup vytvořený na konzole po provedení výše uvedeného fragmentu kódu:
Kromě toho si můžete stáhnout vstupní a výstupní soubory z tento odkaz pro referenci.
Prozkoumejte funkce API
Existuje mnoho dalších tříd a vlastností pro práci s PSD a dalšími obrázky. Pro více informací můžete navštívit sekci dokumentace.
Získejte bezplatnou zkušební licenci
Rozhraní API můžete vyhodnotit bez jakýchkoli omezení hodnocení, když požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili pracovat s inteligentními filtry na inteligentních objektech v obrázku PSD programově v C#. Pojednává o tom, jak upravit a aktualizovat stávající inteligentní filtry v obrázku, a také přidat do obrázku nové inteligentní filtry, jako je GaussianBlurSmartFilter, AddNoiseSmartFilter atd. Dále je zde pozoruhodné, že pro práci s touto funkcí nepotřebujete instalovat žádný Photoshop ani jinou aplikaci pro zpracování obrázků, protože API není závislé na žádném jiném nástroji. V případě jakýchkoli dotazů nebo obav nám napište na fórum.