Редагування Adobe Photoshop Formats
Об’єднання шарів PSD у Інші шари
Експорт зображення в PSD
PSD, документ PhotoShop, є форматом файлу, який використовується за замовчуванням Adobe Photoshop для роботи з зображеннями. Aspose.PSD дозволяє вам завантажувати, редагувати та зберігати файли у форматі PSD, щоб їх можна було відкрити й відредагувати в Photoshop. У цій статті показано, як зберегти файл в форматі PSD за допомогою Aspose.PSD, а також обговорюється деякі параметри, які можна використовувати при збереженні у цей формат. PsdOptions - спеціалізований клас у просторі імен ImageOptions, призначений для експорту зображень у PSD. Для експорту в PSD створіть екземпляр класу Image, завантажений з існуючого файлу зображення (наприклад, ескізи) або створений з нуля. У цій статті пояснено, як це зробити. Нижче наведено код створення файлу Image з нуля, заповнення пікселями та збереження його у форматі PSD із стисненням RLE і в режимі відтінків сірого кольору. У кодовому вирізку нижче показано, як експортувати зображення в PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Create a new image from scratch. | |
using (PsdImage image = new PsdImage(300, 300)) | |
{ | |
// Fill image data. | |
Graphics graphics = new Graphics(image); | |
graphics.Clear(Color.White); | |
var pen = new Pen(Color.Brown); | |
graphics.DrawRectangle(pen, image.Bounds); | |
// Create an instance of PsdOptions, Set it's various properties Save image to disk in PSD format | |
PsdOptions psdOptions = new PsdOptions(); | |
psdOptions.ColorMode = ColorModes.Rgb; | |
psdOptions.CompressionMethod = CompressionMethod.Raw; | |
psdOptions.Version = 4; | |
image.Save(dataDir + "ExportImageToPSD_output.psd", psdOptions); | |
} |
Імпорт зображення в шар PSD
Ця стаття демонструє використання Aspose.PSD для додавання або імпорту зображення в шар PSD. API Aspose.PSD розкриває ефективні та прості методи для досягнення цієї мети. Aspose.PSD розкриває метод DrawImage класа Layer для додавання/імпорту зображення в файл PSD. Метод DrawImage потребує значень розташування та зображення для додавання/імпорту зображення в файл PSD. Кроки імпорту зображення в шар PSD настільки прості, як описано нижче:
- Завантажити файл PSD як зображення за допомогою методу заводу Load, викритого класом Image.
- Створити екземпляр класу Layer з потіком з файлом Png, Jpeg, Tiff, Gif, Bmp, Psd або j2k.
- Додати шар до Psd за допомогою методу AddLayer.
- Зберегти результати.
Даний кодовий вирізок показує вам, як імпортувати зображення в шар PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outputFilePath = dataDir + "PsdResult.psd"; | |
var filesList = new string[] | |
{ | |
"PsdExample.psd", | |
"BmpExample.bmp", | |
"GifExample.gif", | |
"Jpeg2000Example.jpf", | |
"JpegExample.jpg", | |
"PngExample.png", | |
"TiffExample.tif", | |
}; | |
using (var image = new PsdImage(200, 200)) | |
{ | |
foreach (var fileName in filesList) | |
{ | |
string filePath = dataDir + fileName; | |
using (var stream = new FileStream(filePath, FileMode.Open)) | |
{ | |
Layer layer = null; | |
try | |
{ | |
layer = new Layer(stream); | |
image.AddLayer(layer); | |
} | |
catch (Exception e) | |
{ | |
if (layer != null) | |
{ | |
layer.Dispose(); | |
} | |
throw e; | |
} | |
} | |
} | |
image.Save(outputFilePath); | |
} |
Заміна кольорів у шарах PSD
Ця стаття демонструє використання Aspose.PSD для додавання або імпорту зображення в шар PSD. API Aspose.PSD розкриває ефективні та прості методи для досягнення цієї мети. Aspose.PSD розкриває метод DrawImage класа Layer для додавання/імпорту зображення в файл PSD. Метод DrawImage потребує значень розташування та зображення для додавання/імпорту зображення в файл PSD. Кроки імпорту зображення в шар PSD настільки прості, як описано нижче:
- Завантажити файл PSD як зображення за допомогою методу заводу Load, викритого класом Image.
- Створити екземпляр класу Layer і призначити йому шар зображення PSD.
- Завантажити зображення, яке потрібно додати чи створити з нуля.
- Викликати метод Layer.DrawImage, вказавши розташування та екземпляр зображення.
- Зберегти результати.
Даний кодовий вирізок показує вам, як імпортувати зображення в шар PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and caste it into PsdImage | |
using (PsdImage image = (PsdImage)Image.Load(dataDir + "sample.psd")) | |
{ | |
foreach (var layer in image.Layers) | |
{ | |
if (layer.Name == "Rectangle 1") | |
{ | |
layer.HasBackgroundColor = true; | |
layer.BackgroundColor = Color.Orange; | |
} | |
} | |
image.Save(dataDir + "asposeImage02.psd"); | |
} |
Створення ескізів з файлів PSD
PSD - це власний формат документа застосунку Adobe Photoshop. Adobe Photoshop (версії 5.0 і пізніші) зберігає інформацію про ескіз для попереднього відображення у блоках ресурсів зображення, що складаються з початкового заголовку з 28 байтів, суцільного ескізу JFIF у порядку RGB (червоний, зелений, синій). API Aspose.PSD надає простий механізм доступу до ресурсів файлу PSD. Ці ресурси також включають ресурс ескізів, які, зі свого боку, можуть бути витягнуті і збережені на диск відповідно до потреб програми. Нижче наведено кодовий вирізок, який показує, як створити ескізи з файлів PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and caste it into PsdImage | |
using (PsdImage image = (PsdImage)Image.Load(dataDir + "sample.psd")) | |
{ | |
int index = 0; | |
// Iterate over the PSD resources | |
foreach (var resource in image.ImageResources) | |
{ | |
index++; | |
// Check if the resource is of thumbnail type | |
if (resource is ThumbnailResource) | |
{ | |
// Retrieve the ThumbnailResource and Check the format of the ThumbnailResource | |
var thumbnail = (ThumbnailResource)resource; | |
if (thumbnail.Format == ThumbnailFormat.KJpegRgb) | |
{ | |
// Create a new image by specifying the width and height, Store the pixels of thumbnail on to the newly created image and save image | |
PsdImage thumnailImage = new PsdImage(thumbnail.Width, thumbnail.Height); | |
thumnailImage.SavePixels(thumnailImage.Bounds, thumbnail.ThumbnailData); | |
thumnailImage.Save(dataDir + "CreateThumbnailsFromPSDFiles_out_" + index.ToString() + ".bmp", new BmpOptions()); | |
} | |
} | |
} | |
} |
Створення індексованих файлів PSD
API Aspose.PSD для .NET може створювати індексовані файли PSD з нуля. Ця стаття демонструє використання PsdOptions та класів PsdImage для створення індексованого PSD при малюванні деяких форм на новому полотні. Для створення індексованого файлу PSD потрібно виконати наступні прості кроки:
- Створіть екземпляр PsdOptions та встановіть його джерело.
- Встановіть властивість ColorMode PsdOptions на ColorModes.Indexed.
- Створіть новий палітра кольорів з простору RGB та встановіть її як властивість Palette PsdOptions.
- Встановіть властивість CompressionMethod на необхідний алгоритм стискання.
- Створіть нове зображення PSD шляхом виклику методу PsdImage.Створити.
- Малюйте графіку або виконуйте інші операції відповідно до потреб.
- Викличте метод PsdImage.Save для збереження всіх змін.
Даний кодовий вирізок показує вам, як створити індексовані файли PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Create an instance of PsdOptions and set it's properties | |
var createOptions = new PsdOptions(); | |
createOptions.Source = new FileCreateSource(dataDir + "Newsample_out.psd", false); | |
createOptions.ColorMode = ColorModes.Indexed; | |
createOptions.Version = 5; | |
// Create a new color palette having RGB colors, Set Palette property & compression method | |
Color[] palette = { Color.Red, Color.Green, Color.Blue, Color.Yellow }; | |
createOptions.Palette = new PsdColorPalette(palette); | |
createOptions.CompressionMethod = CompressionMethod.RLE; | |
// Create a new PSD with PsdOptions created previously | |
using (var psd = Image.Create(createOptions, 500, 500)) | |
{ | |
// Draw some graphics over the newly created PSD | |
var graphics = new Graphics(psd); | |
graphics.Clear(Color.White); | |
graphics.DrawEllipse(new Pen(Color.Red, 6), new Rectangle(0, 0, 400, 400)); | |
psd.Save(); | |
} |
Експорт шару PSD у растрове зображення
Aspose.PSD для .NET дозволяє експортувати шари у файлі PSD у растрові зображення. Будь ласка, використовуйте метод Aspose.PSD.FileFormats.Psd.Layers.Layer.Save для експорту шару у зображення. У наступному прикладі коду завантажується файл PSD і експортується кожен з його шарів у зображення PNG за допомогою методу Aspose.PSD.FileFormats.Psd.Layers.Layer.Save. Після того як всі шари експортовані у зображення PNG, їх можна відкрити за допомогою улюбленого переглядача зображень. Нижче наведено кодовий вирізок, який показує вам, як експортувати шар PSD у растрове зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and caste it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "sample.psd")) | |
{ | |
// Create an instance of PngOptions class | |
var pngOptions = new PngOptions(); | |
pngOptions.ColorType = PngColorType.TruecolorWithAlpha; | |
// Loop through the list of layers | |
for (int i = 0; i < psdImage.Layers.Length; i++) | |
{ | |
// Convert and save the layer to PNG file format. | |
psdImage.Layers[i].Save(string.Format("layer_out{0}.png", i + 1), pngOptions); | |
} | |
} |
Оновлення текстового шару в файлі PSD
Aspose.PSD для .NET дозволяє вам маніпулювати текстом у текстовому шарі файлу PSD. Будь ласка, використовуйте клас Aspose.PSD.FileFormats.Psd.Layers.TextLayer, щоб оновити текст у шарі PSD. У наступному кодовому вирізку загружається файл PSD, доступ до текстового шару, оновлюється текст та зберігається файл PSD під новою назвою за допомогою методу Aspose.PSD.FileFormats.Psd.Layers.TextLayer.UpdateText.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and cast it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd")) | |
{ | |
foreach (var layer in psdImage.Layers) | |
{ | |
if (layer is TextLayer) | |
{ | |
TextLayer textLayer = layer as TextLayer; | |
textLayer.UpdateText("test update", new Point(0, 0), 15.0f, Color.Purple); | |
} | |
} | |
psdImage.Save(dataDir + "UpdateTextLayerInPSDFile_out.psd"); | |
} |
Виявлення згладжених PSD
Aspose.PSD для .NET дозволяє вам виявити, чи файл PSD згладжений чи ні. В класі Aspose.PSD.FileFormats.Psd.PsdImage було представлено властивість IsFlatten, щоб здійснити цю функціональність. У наступному кодовому вирізку завантажується файл PSD, а до властивості IsFlatten звертається через клас isFlatten.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and cast it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd")) | |
{ | |
// Do processing, Get the true value if PSD is flatten and false in case the PSD is not flatten. | |
Console.WriteLine(psdImage.IsFlatten); | |
} |
Об’єднання шарів PSD
Ця стаття показує, як об’єднувати шари в файлі PSD під час перетворення файлу PSD у JPG за допомогою Aspose.PSD. У прикладі нижче існуючий файл PSD завантажується, передаючи шлях до файлу методу завантаження Image. Після завантаження перетворіть/приведіть зображення до PsdImage. Створіть екземляр класу JpegOptions та встановіть його різні властивості. Зараз викличте метод Save екземпляра PsdImage. Нижче наведено кодовий вирізок, який показує вам, як об’єднати шари PSD.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Load a PSD file as an image and cast it into PsdImage | |
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd")) | |
{ | |
// Create JPEG option class object, Set its properties and save image | |
var jpgOptions = new JpegOptions(); | |
psdImage.Save(dataDir + "MergePSDlayers_output.jpg", jpgOptions); | |
} |
Підтримка відтінку сірого з альфа для PSD
Ця стаття показує, як підтримувати відтінок сірого з альфа для файлу PSD під час перетворення файлу PSD у PNG за допомогою Aspose.PSD. У прикладі нижче існуючий файл PSD завантажується, передаючи шлях до файлу методу завантаження Image. Після завантаження перетворіть/приведіть зображення до PsdImage. Створіть екземляр класу PngOptions та встановіть його різні властивості. Встановіть властивість ColorType на TruecolorWithAlpha. Зараз викличте метод Save екз