Aggiornamento e Esportazione di Oggetti Intelligenti utilizzando Aspose.PSD per C#

Panoramica

Aggiornamento ed Esportazione di Livelli di Oggetti Intelligenti nei File PSD utilizzando Aspose.PSD per C#

I Livelli di Oggetti Intelligenti nei file PSD consentono di incorporare e manipolare immagini esterne all’interno dei tuoi progetti Photoshop. Con Aspose.PSD per C#, puoi facilmente aggiornare ed esportare Livelli di Oggetti Intelligenti, fornendo potenti capacità per la modifica e la manipolazione delle immagini.

Questo articolo illustra passo dopo passo come aggiornare ed esportare Livelli di Oggetti Intelligenti utilizzando Aspose.PSD per C#.

Scenario di Esempio: Supponiamo di avere un file PSD chiamato “new_panama-papers-8-trans4.psd” che contiene un Livello di Oggetto Intelligente. Vogliamo aggiornare il contenuto del Livello di Oggetto Intelligente invertendo l’immagine e quindi esportare il file PSD modificato.

Passaggi:

  1. Carica il File PSD: Carica il file PSD utilizzando il metodo Image.Load della libreria Aspose.PSD. Ciò fornisce l’accesso ai livelli all’interno del file PSD.

  2. Esporta il Contenuto del Livello di Oggetto Intelligente: Utilizza il metodo ExportContents della classe SmartObjectLayer per salvare l’immagine incorporata come file separato.

  3. Manipola il Livello di Oggetto Intelligente: Manipola il contenuto del Livello di Oggetto Intelligente. Ad esempio, inverti l’immagine utilizzando una funzione appropriata.

  4. Aggiorna il Contenuto Modificato: Dopo aver manipolato il Livello di Oggetto Intelligente, aggiorna il contenuto modificato utilizzando il metodo UpdateAllModifiedContent della classe SmartObjectProvider. Ciò garantisce che le modifiche vengano applicate ai rispettivi livelli.

  5. Salva il File PSD Modificato: Salva il file PSD modificato con il Livello di Oggetto Intelligente aggiornato utilizzando il metodo Save e specificando PsdOptions per il formato desiderato e le opzioni.

Conclusione

Questo articolo ha spiegato come aggiornare ed esportare Livelli di Oggetti Intelligenti nei file PSD utilizzando Aspose.PSD per C#. Seguendo questi passaggi, puoi facilmente manipolare ed esportare il contenuto dei Livelli di Oggetti Intelligenti, consentendo una vasta gamma di possibilità per la modifica e la personalizzazione delle immagini.

Aspose.PSD per C# fornisce un insieme completo di funzionalità e API per lavorare con file PSD, rendendolo uno strumento potente per qualsiasi sviluppatore C# che lavora con progetti Photoshop.

Per saperne di più su Aspose.PSD per C# e esplorare le sue capacità, consulta la documentazione ufficiale e il riferimento dell’API.

Esempio

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
string exportContentPath = "export_content.jpg";
string outputUpdated = "smart_object.psd";
using (PsdImage im = (PsdImage)Image.Load(source))
{
SmartObjectLayer smartLayer = (SmartObjectLayer)im.Layers[0];
// How to export content of Smart Object
smartLayer.ExportContents(exportContentPath);
// Creating Smart Object as a Copy
SmartObjectLayer newLayer = smartLayer.NewSmartObjectViaCopy();
newLayer.IsVisible = false;
newLayer.DisplayName = "Duplicate";
// Get the content of Smart Object for manipulation
using (RasterImage innerImage = (RasterImage)smartLayer.LoadContents(null))
{
InvertImage(innerImage);
smartLayer.ReplaceContents(innerImage);
}
im.SmartObjectProvider.UpdateAllModifiedContent();
PsdOptions psdOptions = new PsdOptions(im);
im.Save(outputUpdated, psdOptions);
}
void InvertImage(RasterImage image)
{
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
for (int i = 0; i < pixels.Length; i++)
{
int pixel = pixels[i];
int alpha = pixel & unchecked((int)0xff000000);
pixels[i] = (~(pixel & 0x00ffffff)) | alpha;
}
image.SaveArgb32Pixels(image.Bounds, pixels);
}

Per ulteriori informazioni dettagliate ed esempi, visita la documentazione di Aspose.PSD per C#.