Escala de grises a RGB PSD csharp

Los archivos PSD son archivos nativos creados por la aplicación Adobe Photoshop. Popularmente se utilizan para crear o diseñar artes visuales por parte de artistas o diseñadores. En algunos escenarios, es posible que deba convertir una imagen PSD con colores en escala de grises en una imagen PSD que contenga un modelo de color RGB. Siguiendo estos escenarios, este artículo explica cómo convertir una imagen PSD en escala de grises en una imagen PSD que contiene un espacio de color RGB mediante programación en C#.

Convertidor PSD de escala de grises a RGB: instalación de la API de C#

Puede trabajar con Aspose.PSD para .NET API para crear, editar o manipular imágenes PSD. Simplemente configure la biblioteca descargando los archivos DLL de referencia de la sección Nuevas versiones o use el siguiente comando de instalación NuGet:

PM> Install-Package Aspose.PSD

Cómo convertir una imagen PSD en escala de grises a RGB mediante programación en C#

Puede convertir una imagen PSD en escala de grises en una imagen PSD RGB siguiendo los pasos a continuación:

  • Inicialice el objeto de la clase PsdOptions.
  • Acceda a una capa y cree un objeto de clase Graphics.
  • Convierta la imagen PSD en escala de grises a RGB.
  • Guarde el archivo de imagen PSD de salida.

La siguiente sección explora más el tema junto con el código de muestra.

Convierta una imagen PSD en escala de grises a RGB mediante programación en C#

Siga los pasos a continuación para convertir la escala de grises en una imagen PSD RGB.

  • Cargue el archivo PSD de entrada con la instancia de clase PsdImage.
  • Accede a la capa y crea un objeto de clase Rectángulo.
  • Convierta PSD en escala de grises a una imagen RGB.
  • Exporte el archivo de imagen de salida.

El siguiente ejemplo de código demuestra cómo convertir una imagen PSD en escala de grises a formato RGB mediante programación en C#:

// Establecer rutas para archivos de entrada y salida
string sourceFilePath = "grayscale5x5.psd";
string exportFilePath = "rgb16bit5x5.psd";

// Inicializar objeto de clase PsdOptions
Aspose.PSD.ImageOptions.PsdOptions psdOptions = new Aspose.PSD.ImageOptions.PsdOptions()
{
    ColorMode = Aspose.PSD.FileFormats.Psd.ColorModes.Rgb,
    ChannelBitsCount = 16,
    ChannelsCount = 4
};

// Carga el 
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);

    // Guardar archivo PSD de salida
    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 la salida a formato de imagen PNG.
    image.Save(pngExportPath, new Aspose.PSD.ImageOptions.PngOptions() { ColorType = Aspose.PSD.FileFormats.Png.PngColorType.GrayscaleWithAlpha });
}

Aprenda las características de la API

Puede explorar los diferentes capítulos cubiertos en la sección documentación que explican las diferentes funciones admitidas por la API.

Obtenga una licencia de evaluación gratuita

Puede solicitar una licencia temporal gratuita para evaluar la API sin ninguna limitación de evaluación.

Conclusión

En este artículo, ha aprendido a convertir una imagen PSD en escala de grises en una imagen RGB mediante programación en C#. Las imágenes en escala de grises tienen solo un canal, mientras que la imagen PSD RGB convertida tiene 3 canales diferentes, incluidos rojo, verde y azul. Además, en caso de que necesite discutir alguna de sus inquietudes o requisitos, escríbanos a foro.

Ver también

Agregar marca de agua a PSD en C#