Оттенки серого в RGB PSD csharp

Файлы PSD — это исходные файлы, созданные приложением Adobe Photoshop. Они обычно используются для создания или проектирования изобразительного искусства художниками или дизайнерами. В некоторых сценариях может потребоваться преобразовать изображение PSD с оттенками серого в изображение PSD, содержащее цветовую модель RGB. Следуя таким сценариям, в этой статье объясняется, как преобразовать PSD-изображение в градациях серого в PSD-изображение, содержащее цветовое пространство RGB, программным способом на 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/)