Escala de cinza para RGB PSD csharp

Arquivos PSD são arquivos nativos criados pelo aplicativo Adobe Photoshop. Eles são usados popularmente para criar ou projetar artes visuais por artistas ou designers. Em alguns cenários, pode ser necessário converter uma imagem PSD com cores em tons de cinza em uma imagem PSD contendo um modelo de cores RGB. Seguindo esses cenários, este artigo explica como converter uma imagem PSD em tons de cinza em uma imagem PSD contendo espaço de cores RGB programaticamente em C#.

Grayscale to RGB PSD Converter – Instalação da API C#

Você pode trabalhar com a API Aspose.PSD for .NET para criar, editar ou manipular imagens PSD. Basta configurar a biblioteca baixando os arquivos DLL de referência da seção New Releases ou usar o seguinte comando de instalação NuGet:

PM> Install-Package Aspose.PSD

Como converter imagens em tons de cinza para RGB PSD programaticamente em C

Você pode converter um PSD em tons de cinza em uma imagem RGB PSD seguindo as etapas abaixo:

  • Inicialize o objeto da classe PsdOptions.
  • Acesse uma camada e crie um objeto da classe Graphics.
  • Converta a imagem em tons de cinza para RGB PSD.
  • Salve o arquivo de imagem PSD de saída.

A próxima seção explora ainda mais o tópico junto com o código de exemplo.

Converter tons de cinza em imagem PSD RGB programaticamente em C

Por favor, siga os passos abaixo para converter tons de cinza para imagem RGB PSD.

  • Carregue o arquivo PSD de entrada com a instância da classe PsdImage.
  • Acesse a camada e crie um objeto da classe Retangle.
  • Converter PSD em tons de cinza para imagem RGB.
  • Exporte o arquivo de imagem de saída.

O exemplo de código a seguir demonstra como converter uma imagem PSD em tons de cinza para o formato RGB programaticamente em C#:

// Definir caminhos para arquivos de entrada e saída
string sourceFilePath = "grayscale5x5.psd";
string exportFilePath = "rgb16bit5x5.psd";

// Inicialize o objeto da classe PsdOptions
Aspose.PSD.ImageOptions.PsdOptions psdOptions = new Aspose.PSD.ImageOptions.PsdOptions()
{
    ColorMode = Aspose.PSD.FileFormats.Psd.ColorModes.Rgb,
    ChannelBitsCount = 16,
    ChannelsCount = 4
};

// Carregue o 
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);

    // Salvar arquivo PSD de saída
    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))
{
    // Exporte a saída para o formato de imagem PNG.
    image.Save(pngExportPath, new Aspose.PSD.ImageOptions.PngOptions() { ColorType = Aspose.PSD.FileFormats.Png.PngColorType.GrayscaleWithAlpha });
}

Conheça os recursos da API

Você pode explorar diferentes capítulos abordados na seção documentação que explicam os diferentes recursos suportados pela API.

Obtenha uma licença de avaliação gratuita

Você pode solicitar uma licença temporária gratuita para avaliar a API sem quaisquer limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como converter uma imagem PSD em tons de cinza em uma imagem RGB programaticamente em C#. As imagens em tons de cinza têm apenas um canal, enquanto a imagem PSD RGB convertida tem 3 canais diferentes, incluindo vermelho, verde e azul. Além disso, caso você precise discutir alguma de suas preocupações ou requisitos, escreva para nós em fórum.

Veja também

Adicionar marca d’água ao PSD em C#