Редагування 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 екз