Aktualizacja i eksportowanie inteligentnych obiektów przy użyciu Aspose.PSD dla C#
Przegląd
Aktualizacja i Eksportowanie Inteligentnych Warstw Obiektów w plikach PSD za pomocą Aspose.PSD dla C#
Inteligentne warstwy obiektów w plikach PSD pozwalają na osadzanie i manipulowanie zewnętrznymi obrazami w projektach Photoshopa. Dzięki Aspose.PSD dla C#, możesz łatwo aktualizować i eksportować inteligentne warstwy obiektów, oferując potężne możliwości edycji i manipulacji obrazem.
Ten artykuł przedstawia przewodnik krok po kroku, jak aktualizować i eksportować inteligentne warstwy obiektów za pomocą Aspose.PSD dla C#.
Przykładowy Scenariusz: Załóżmy, że mamy plik PSD o nazwie “new_panama-papers-8-trans4.psd”, który zawiera warstwę inteligentnego obiektu. Chcemy zaktualizować zawartość warstwy inteligentnego obiektu, odwracając obraz, a następnie wyeksportować zmodyfikowany plik PSD.
Kroki:
-
Załaduj plik PSD: Załaduj plik PSD za pomocą metody
Image.Load
z biblioteki Aspose.PSD. Dzięki temu uzyskasz dostęp do warstw w pliku PSD. -
Eksportuj zawartość warstwy inteligentnego obiektu: Użyj metody
ExportContents
klasySmartObjectLayer
, aby zapisać osadzony obraz jako osobny plik. -
Manipuluj warstwą inteligentnego obiektu: Manipuluj zawartością warstwy inteligentnego obiektu. Na przykład odwróć obraz za pomocą odpowiedniej funkcji.
-
Zaktualizuj zmodyfikowaną zawartość: Po manipulacji warstwą inteligentnego obiektu, zaktualizuj zmodyfikowaną zawartość za pomocą metody
UpdateAllModifiedContent
klasySmartObjectProvider
. Zapewni to zastosowanie zmian do odpowiednich warstw. -
Zapisz zmodyfikowany plik PSD: Zapisz zmodyfikowany plik PSD z zaktualizowaną warstwą inteligentnego obiektu za pomocą metody
Save
i określającPsdOptions
dla pożądanego formatu i opcji.
Podsumowanie
Ten artykuł wyjaśnił, jak aktualizować i eksportować inteligentne warstwy obiektów w plikach PSD za pomocą Aspose.PSD dla C#. Korzystając z tych kroków, możesz łatwo manipulować i eksportować zawartość inteligentnych warstw obiektów, umożliwiając szeroki zakres możliwości edycji i dostosowywania obrazów.
Aspose.PSD dla C# oferuje kompleksowy zestaw funkcji i interfejsów programowania aplikacji do pracy z plikami PSD, co czyni go potężnym narzędziem dla każdego programisty C# pracującego z projektami Photoshopa.
Aby dowiedzieć się więcej o Aspose.PSD dla C# i poznać jego możliwości, zapoznaj się z oficjalną dokumentacją i odniesieniem API.
Przykład
// 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); | |
} |
Aby uzyskać bardziej szczegółowe informacje i przykłady, odwiedź dokumentację Aspose.PSD dla C#.