Оновлення та експорт інтелектуального об'єкта за допомогою Aspose.PSD для С#
Огляд
Оновлення та експорт шарів інтелектуальних об’єктів у файлах PSD за допомогою Aspose.PSD для C#
Шари інтелектуальних об’єктів у файлах PSD дозволяють вбудовувати та маніпулювати зовнішніми зображеннями у ваших дизайнах Photoshop. З Aspose.PSD для C# ви легко можете оновлювати та експортувати шари інтелектуальних об’єктів, надаючи потужні можливості для редагування та маніпулювання зображеннями.
У цій статті подано пошаговий посібник з оновлення та експорту шарів інтелектуальних об’єктів за допомогою Aspose.PSD для C#.
Приклад сценарію: Припустимо, у нас є файл PSD під назвою “new_panama-papers-8-trans4.psd”, що містить шар інтелектуального об’єкта. Ми хочемо оновити вміст шару інтелектуального об’єкта, інвертуючи зображення, а потім експортувати змінений файл PSD.
Кроки:
-
Завантажте файл PSD: Завантажте файл PSD за допомогою методу
Image.Load
з бібліотеки Aspose.PSD. Це дозволяє отримати доступ до шарів у файлі PSD. -
Експортуйте вміст шару інтелектуального об’єкта: Використовуйте метод
ExportContents
класуSmartObjectLayer
для збереження вбудованого зображення як окремий файл. -
Маніпулюйте шаром інтелектуального об’єкта: Маніпулюйте вмістом шару інтелектуального об’єкта. Наприклад, інвертуйте зображення за допомогою відповідної функції.
-
Оновіть змінений вміст: Після маніпулювання шаром інтелектуального об’єкта, оновіть змінений вміст за допомогою методу
UpdateAllModifiedContent
класуSmartObjectProvider
. Це забезпечує застосування змін до відповідних шарів. -
Збережіть змінений файл PSD: Збережіть змінений файл PSD із оновленим шаром інтелектуального об’єкта, використовуючи метод
Save
та вказуючиPsdOptions
для бажаного формату та параметрів.
Висновок
У цій статті пояснено, як оновлювати та експортувати шари інтелектуальних об’єктів у файлах PSD за допомогою Aspose.PSD для C#. Дотримуючись цих кроків, ви легко можете маніпулювати та експортувати вміст інтелектуальних об’єктів, відкриваючи широкі можливості для редагування та налаштування зображень.
Aspose.PSD для C# надає широкий спектр функцій та API для роботи з файлами PSD, роблячи його потужним інструментом для будь-якого розробника на C#, що працює з дизайнами Photoshop.
Щоб дізнатися більше про Aspose.PSD для C# та дослідити його можливості, будь ласка, зверніться до офіційної документації та довідника API.
Приклад
// 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); | |
} |
Для отримання докладної інформації та прикладів, будь ласка, відвідайте документацію Aspose.PSD для C#.