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:
-
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. -
Esporta il Contenuto del Livello di Oggetto Intelligente: Utilizza il metodo
ExportContents
della classeSmartObjectLayer
per salvare l’immagine incorporata come file separato. -
Manipola il Livello di Oggetto Intelligente: Manipola il contenuto del Livello di Oggetto Intelligente. Ad esempio, inverti l’immagine utilizzando una funzione appropriata.
-
Aggiorna il Contenuto Modificato: Dopo aver manipolato il Livello di Oggetto Intelligente, aggiorna il contenuto modificato utilizzando il metodo
UpdateAllModifiedContent
della classeSmartObjectProvider
. Ciò garantisce che le modifiche vengano applicate ai rispettivi livelli. -
Salva il File PSD Modificato: Salva il file PSD modificato con il Livello di Oggetto Intelligente aggiornato utilizzando il metodo
Save
e specificandoPsdOptions
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#.