I filtri intelligenti vengono utilizzati per abilitare la modifica non distruttiva di un’immagine. Sono rieditabili in quanto mantengono le impostazioni del filtro e possono essere regolati o rimossi dall’immagine, se necessario. Inoltre, puoi aggiungere uno o più filtri intelligenti a condizione che un livello sia un oggetto intelligente. Questo articolo illustra come modificare e aggiornare i filtri intelligenti, nonché aggiungere nuovi filtri come GaussianBlurSmartFilter, AddNoiseSmartFilter e così via a un’immagine a livello di codice in C#.
- Lavora con filtri intelligenti e oggetti avanzati nel file PSD – Installazione API C#
- Aggiungi, modifica e aggiorna filtri intelligenti e oggetti avanzati in C#
Lavora con filtri intelligenti e oggetti avanzati in file PSD – Installazione API C#
È necessario installare l’API Aspose.PSD for .NET per lavorare con le immagini PSD a livello di codice in C# .NET. Scarica rapidamente il suo file DLL dalla sezione Download o usa il comando di installazione NuGet nell’IDE di Visual Studio:
PM> Install-Package Aspose.PSD
Aggiungi, modifica e aggiorna filtri intelligenti e oggetti avanzati in C#
Puoi modificare, aggiornare o aggiungere nuovi filtri intelligenti agli oggetti intelligenti in un file PSD seguendo i passaggi seguenti:
- Carica l’immagine PSD di input utilizzando la classe Image.
- Carica il livello dell’oggetto intelligente dal file di input.
- Modifica il filtro intelligente e controlla le sue proprietà come raggio, modalità di fusione, opacità, ecc.
- Aggiorna le proprietà dei filtri e aggiungi nuovi filtri intelligenti come sfocatura gaussiana, Aggiungi disturbo, ecc.
- Salva il file di output con i filtri aggiornati e controlla le proprietà aggiornate.
Il frammento di codice seguente mostra come modificare, aggiornare o aggiungere filtri intelligenti su oggetti intelligenti in un’immagine PSD a livello di codice in C#:
var sourceFilter = "r2_SmartFilters.psd";
var outputPsd = "output.psd";
using (var image = (PsdImage)Image.Load(sourceFilter))
{
SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];
// modificare i filtri intelligenti
GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];
// controllare i valori del filtro
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
// aggiornare i valori del filtro
gaussianBlur.Radius = 1;
gaussianBlur.BlendMode = BlendMode.Divide;
gaussianBlur.Opacity = 75;
gaussianBlur.IsEnabled = false;
AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
addNoise.Distribution = NoiseDistribution.Uniform;
// aggiungere nuovi elementi filtro
var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
filters.Add(new GaussianBlurSmartFilter());
filters.Add(new AddNoiseSmartFilter());
smartObj.SmartFilters.Filters = filters.ToArray();
// applica i cambiamenti
smartObj.SmartFilters.UpdateResourceValues();
// Applicare filtri
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];
// controllare i valori del filtro
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
}
Lo screenshot seguente mostra l’output di esempio prodotto sulla console dopo aver eseguito lo snippet di codice sopra:
Inoltre, puoi scaricare i file di input e output da questo link come riferimento.
Esplora le funzionalità dell’API
Ci sono molte altre classi e proprietà per lavorare con il PSD e altre immagini. Puoi visitare la sezione documentazione per ulteriori informazioni.
Ottieni una licenza di valutazione gratuita
Puoi valutare l’API senza alcuna limitazione di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato a utilizzare i filtri avanzati su oggetti avanzati in un’immagine PSD a livello di codice in C#. Spiega come modificare e aggiornare i filtri intelligenti esistenti in un’immagine, nonché aggiungere nuovi filtri intelligenti come GaussianBlurSmartFilter, AddNoiseSmartFilter, ecc. a un’immagine. Inoltre, è degno di nota qui che non è necessario installare alcun Photoshop o qualsiasi altra applicazione di elaborazione delle immagini per lavorare con questa funzione perché l’API non dipende da nessun altro strumento. In caso di domande o dubbi, scrivici al forum.