Файлы PSD — это исходные файлы, созданные приложением Adobe Photoshop. Они обычно используются для создания или проектирования изобразительного искусства художниками или дизайнерами. В некоторых сценариях может потребоваться преобразовать изображение PSD с оттенками серого в изображение PSD, содержащее цветовую модель RGB. Следуя таким сценариям, в этой статье объясняется, как преобразовать PSD-изображение в градациях серого в PSD-изображение, содержащее цветовое пространство RGB, программным способом на C#.
- Преобразователь оттенков серого в RGB PSD — установка C# API
- Как программно преобразовать изображение в оттенках серого в RGB PSD на C#
- Преобразование оттенков серого в RGB PSD-изображение программно на C#
Преобразователь оттенков серого в RGB PSD — установка C# API
Вы можете работать с Aspose.PSD for .NET API для создания, редактирования или управления изображениями PSD. Просто настройте библиотеку, загрузив эталонные DLL-файлы из раздела Новые выпуски или используя следующую команду установки NuGet:
PM> Install-Package Aspose.PSD
Как программно преобразовать изображение в оттенках серого в RGB PSD на C#
Вы можете преобразовать изображение PSD в градациях серого в изображение RGB PSD, выполнив следующие действия:
- Инициализировать объект класса PsdOptions.
- Получите доступ к слою и создайте объект класса Graphics.
- Преобразуйте изображение в оттенках серого в RGB PSD.
- Сохраните выходной файл изображения PSD.
В следующем разделе эта тема рассматривается вместе с примером кода.
Преобразование оттенков серого в RGB PSD-изображение программно на C#
Выполните следующие действия, чтобы преобразовать изображение в оттенках серого в изображение RGB PSD.
- Загрузите исходный PSD-файл с экземпляром класса PsdImage.
- Получите доступ к слою и создайте объект класса Rectangle.
- Преобразование PSD в оттенках серого в изображение RGB.
- Экспортируйте файл выходного изображения.
В следующем примере кода показано, как программно преобразовать PSD-изображение в оттенках серого в формат RGB на C#:
// Установить пути для входных и выходных файлов
string sourceFilePath = "grayscale5x5.psd";
string exportFilePath = "rgb16bit5x5.psd";
// Инициализировать объект класса PsdOptions
Aspose.PSD.ImageOptions.PsdOptions psdOptions = new Aspose.PSD.ImageOptions.PsdOptions()
{
ColorMode = Aspose.PSD.FileFormats.Psd.ColorModes.Rgb,
ChannelBitsCount = 16,
ChannelsCount = 4
};
// Загрузите
using (Aspose.PSD.FileFormats.Psd.PsdImage image = (Aspose.PSD.FileFormats.Psd.PsdImage)Aspose.PSD.Image.Load(sourceFilePath))
{
Aspose.PSD.RasterCachedImage raster = image.Layers[0];
Aspose.PSD.Graphics graphics = new Aspose.PSD.Graphics(raster);
int width = raster.Width;
int height = raster.Height;
Aspose.PSD.Rectangle rect = new Aspose.PSD.Rectangle(width / 3, height / 3, width - (2 * (width / 3)) - 1, height - (2 * (height / 3)) - 1);
graphics.DrawRectangle(new Aspose.PSD.Pen(Aspose.PSD.Color.DarkGray, 1), rect);
// Сохранить выходной PSD-файл
image.Save(exportFilePath, psdOptions);
}
string pngExportPath = Path.ChangeExtension(exportFilePath, "png");
using (Aspose.PSD.FileFormats.Psd.PsdImage image = (Aspose.PSD.FileFormats.Psd.PsdImage)Aspose.PSD.Image.Load(exportFilePath))
{
// Экспортируйте результат в формат изображения PNG.
image.Save(pngExportPath, new Aspose.PSD.ImageOptions.PngOptions() { ColorType = Aspose.PSD.FileFormats.Png.PngColorType.GrayscaleWithAlpha });
}
Изучите возможности API
Вы можете изучить различные главы в разделе документация, в которых объясняются различные функции, поддерживаемые API.
Получите бесплатную пробную лицензию
Вы можете запросить бесплатную временную лицензию для оценки API без каких-либо ограничений оценки.
Вывод
В этой статье вы узнали, как программно преобразовать PSD-изображение в градациях серого в RGB-изображение на C#. Изображения в градациях серого имеют только один канал, в то время как преобразованное изображение RGB PSD имеет 3 различных канала, включая красный, зеленый и синий. Кроме того, если вам нужно обсудить какие-либо ваши проблемы или требования, напишите нам на форум.
Смотрите также
[Добавить водяной знак в PSD на C#] (https://blog.aspose.com/ru/psd/add-watermark-to-psd-in-csharp/)