Los archivos CorelDRAW utilizan el formato CDR para almacenar gráficos vectoriales, ilustraciones, diseños y otro contenido de diseño. Sin embargo, los archivos CDR no son compatibles con muchas aplicaciones y plataformas. La conversión de archivos CDR a PNG facilita compartir, mostrar e integrar el arte vectorial en flujos de trabajo web y de aplicaciones. En este tutorial, aprenderá cómo convertir CDR a PNG en .NET de forma programática utilizando Aspose.Imaging for .NET. También aprenderá cómo configurar las opciones de rasterización de CDR para preservar las dimensiones originales y evitar una salida PNG en blanco o transparente.

¿Por qué convertir CDR a PNG?

CDR es un formato vectorial específico de CorelDRAW, mientras que PNG es un formato de imagen rasterizada ampliamente compatible. Convertir CDR a PNG puede ser útil cuando necesitas:

  • Mostrar arte de CorelDRAW en aplicaciones web.
  • Generar vistas previas PNG a partir de archivos CDR.
  • Compartir diseños CDR con usuarios que no tienen CorelDRAW instalado.
  • Utilizar arte CDR en aplicaciones que admiten PNG pero no CDR.
  • Automatizar la conversión de imágenes en aplicaciones .NET.
  • Generar imágenes rasterizadas a partir de gráficos vectoriales.

Aspose.Imaging ofrece soporte para convertir archivos CDR a PNG y otros formatos de imagen de forma programática sin requerir CorelDRAW.

Convertidor de CDR a PNG para .NET

Aspose.Imaging for .NET es una biblioteca de procesamiento de imágenes que permite a los desarrolladores cargar, manipular y guardar imágenes en varios formatos. Proporciona PngOptions para la salida PNG y admite VectorRasterizationOptions para controlar cómo se renderizan las imágenes vectoriales.

Para archivos CDR específicamente, puedes usar CdrRasterizationOptions para controlar el proceso de rasterización. Estas opciones incluyen propiedades como PageSize, BackgroundColor, Positioning, ScaleX y ScaleY.

Instalar Aspose.Imaging for .NET

Antes de convertir CDR a PNG, instala Aspose.Imaging en tu proyecto .NET.

Puede instalar el paquete desde el Administrador de paquetes NuGet o ejecutar el siguiente comando en la Consola del Administrador de paquetes:

Install-Package Aspose.Imaging

También puedes descargar el último paquete Aspose.Imaging for .NET desde la página oficial de lanzamientos.

Convertir CDR a PNG en .NET de forma programática

El proceso básico para convertir un archivo CDR a PNG es:

  1. Carga el archivo CDR usando el método Image.Load.
  2. Crea una instancia de PngOptions.
  3. Establece el tipo de color configurando el valor de la propiedad ColorType.
  4. Configura las opciones de rasterizado vectorial usando el método GetDefaultOptions.
  5. Guarda la imagen como un archivo PNG.

El siguiente código C# demuestra el proceso completo de conversión de CDR a PNG:

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

namespace CSharp.ModifyingAndConvertingImages.CDR
{
    class CdrToPngExample
    {
        static void Main()
        {
            // The path to the documents directory.
            string dataDir = "data";
            string inputFileName = dataDir + "file.cdr";

License lic = new License();
            lic.SetLicense(dataDir + "License.lic");

// Load the source CDR file.
            using (Aspose.Imaging.FileFormats.Cdr.CdrImage image =
                   (Aspose.Imaging.FileFormats.Cdr.CdrImage)Image.Load(inputFileName))
            {
                // Instantiate an instance of the PngOptions class.
                PngOptions options = new PngOptions();

// Set the PNG color type.
                options.ColorType =
                    Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;

// Set the vector rasterization options.
                options.VectorRasterizationOptions =
                    image.GetDefaultOptions(
                        new object[] { Color.White, image.Width, image.Height })
                    .VectorRasterizationOptions;

// Save the CDR file as a PNG image.
                image.Save(dataDir + "SimpleShapes.png", options);
            }
        }
    }
}

Este código carga el archivo CDR, configura los ajustes de rasterización y guarda la imagen resultante como PNG.

convertir-cdr-a-png-en-net

Configurar opciones de rasterización CDR

Al convertir un archivo CDR a PNG, el arte vectorial debe rasterizarse porque PNG es un formato de imagen raster.

Aspose.Imaging ofrece opciones de rasterización vectorial para controlar cómo se renderiza el contenido CDR durante la conversión. En el ejemplo de código anterior, estas opciones se obtienen mediante el método GetDefaultOptions de la imagen CDR:

options.VectorRasterizationOptions =
    image.GetDefaultOptions(
        new object[] { Color.White, image.Width, image.Height })
    .VectorRasterizationOptions;

El método GetDefaultOptions utiliza el color de fondo, el ancho y la altura especificados para obtener la configuración de rasterización vectorial adecuada para la imagen CDR. Estas configuraciones se asignan a la propiedad VectorRasterizationOptions de PngOptions antes de guardar la imagen.

Esto asegura que el contenido vectorial CDR se renderice según las dimensiones y el fondo especificados cuando se convierta a PNG.

Convertir CDR a PNG sin salida en blanco

Un problema que los desarrolladores pueden encontrar al rasterizar arte vectorial es una imagen de salida que aparece en blanco o transparente.

Para la conversión de CDR, configurar explícitamente CdrRasterizationOptions le brinda control sobre el proceso de renderizado. En particular, establecer el tamaño de página y el color de fondo puede ayudar a garantizar que el PNG generado tenga las dimensiones esperadas y un fondo visible.

Uso:

var rasterizationOptions = new CdrRasterizationOptions
{
    PageSize = image.Size,
    BackgroundColor = Color.White
};

Then assign the options to PngOptions:

var pngOptions = new PngOptions
{
    VectorRasterizationOptions = rasterizationOptions
};

Finally, save the image:

image.Save("output.png", pngOptions);

Ejemplo completo de CDR a PNG en C#

Aquí está el ejemplo completo en un solo lugar:

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

string inputFile = "input.cdr";
string outputFile = "output.png";

using (var image = Image.Load(inputFile))
{
    var pngOptions = new PngOptions
    {
        VectorRasterizationOptions = new CdrRasterizationOptions
        {
            PageSize = image.Size,
            BackgroundColor = Color.White
        }
    };

image.Save(outputFile, pngOptions);
}

El método Image.Load carga el archivo CDR de origen. PngOptions define la salida PNG, mientras que CdrRasterizationOptions controla cómo se rasteriza la obra de arte vectorial. El método Image.Save escribe entonces el archivo PNG resultante.

Personalizar la conversión de CDR a PNG

Puede personalizar aún más el proceso de rasterización cuando su aplicación requiere dimensiones de salida específicas o un comportamiento de renderizado.

Por ejemplo, CdrRasterizationOptions proporciona propiedades como:

  • PageSize — especifica el tamaño de página de salida.
  • PageWidth y PageHeight — especifican dimensiones de salida individuales.
  • BackgroundColor — especifica el color de fondo.
  • Positioning — controla la posición del dibujo.
  • ScaleX y ScaleY — controlan el escalado horizontal y vertical.
  • SmoothingMode — controla el suavizado durante la rasterización.
  • TextRenderingHint — controla el comportamiento de renderizado de texto.

Estas opciones brindan más control que simplemente cargar un archivo CDR y guardarlo como PNG.

Por ejemplo:

var rasterizationOptions = new CdrRasterizationOptions
{
    PageSize = image.Size,
    BackgroundColor = Color.White,
    ScaleX = 1.0f,
    ScaleY = 1.0f
};

Puede ajustar estos valores según los requisitos de su aplicación.

Convertir archivos CDR de varias páginas a PNG

Los archivos CDR pueden contener varias páginas. Sin embargo, PNG es un formato raster de imagen única, por lo que el contenido CDR de varias páginas requiere un manejo específico por página al exportar a PNG.

Aspose.Imaging proporciona MultiPageOptions para controlar qué páginas se exportan de una imagen multipágina. La documentación de la API PNG incluye un ejemplo que selecciona páginas específicas al exportar una imagen vectorial multipágina a PNG.

Esto permite a las aplicaciones que procesan documentos CDR de varias páginas controlar qué página se rasteriza y se guarda como PNG.

Flujo de trabajo de conversión de CDR a PNG

El flujo de trabajo completo de conversión se puede resumir de la siguiente manera:

Archivo CDR → Cargar con Aspose.Imaging → Configurar rasterización CDR → Configurar opciones PNG → Guardar como PNG

La parte importante es la configuración de rasterización. Dado que CDR es un formato vectorial y PNG es un formato raster, Aspose.Imaging debe renderizar el arte vectorial en píxeles durante la conversión.

Obtén una licencia gratuita

Aspose.Imaging es una biblioteca comercial de procesamiento de imágenes. Puedes obtener una licencia temporal gratuita para desarrollo y pruebas para evaluar la API sin las limitaciones de la versión de evaluación.

Conclusión

La conversión de CDR a PNG en .NET permite a las aplicaciones transformar el arte vectorial de CorelDRAW en un formato de imagen rasterizada ampliamente compatible. Con Aspose.Imaging for .NET, puedes cargar un archivo CDR, configurar CdrRasterizationOptions y guardar el arte renderizado como PNG. Configurar PageSize ayuda a controlar las dimensiones de salida, mientras que BackgroundColor puede usarse cuando se requiere un fondo visible.

Este enfoque proporciona un conversor programático de CDR a PNG en C# que puede integrarse en aplicaciones de escritorio, aplicaciones web, canalizaciones de procesamiento automatizado y otros proyectos .NET. Si tiene alguna duda, no dude en contactarnos en nuestro foro.

Preguntas frecuentes

  1. ¿Qué es la conversión de CDR a PNG? La conversión de CDR a PNG es el proceso de renderizar un archivo CorelDRAW CDR al formato de imagen rasterizada PNG. PNG es más ampliamente compatible que CDR y puede usarse para imágenes web, vistas previas, compartir y interfaces de aplicaciones.

  2. ¿Cómo puedo convertir CDR a PNG en C#? Puede usar Aspose.Imaging for .NET. Cargue el archivo CDR con Image.Load, cree PngOptions, configure CdrRasterizationOptions y guarde la imagen como PNG.

  3. ¿Puedo convertir CDR a PNG sin CorelDRAW? Sí. Aspose.Imaging for .NET proporciona procesamiento programático de imágenes CDR, lo que permite a las aplicaciones convertir archivos CDR a PNG sin requerir CorelDRAW.

  4. ¿Puedo controlar el tamaño del PNG generado a partir de un archivo CDR? Sí. CdrRasterizationOptions proporciona las propiedades PageSize, PageWidth, PageHeight, ScaleX y ScaleY que pueden usarse para controlar las dimensiones y el escalado de la rasterización.

  5. *¿Aspose.Imaging admite otros formatos de salida CDR? Sí. Aspose.Imaging admite la conversión de archivos CDR a varios formatos, incluidos PNG, JPG, PDF y PSD.

  6. ¿Puedo convertir CDR a PNG programáticamente en .NET? Sí. Aspose.Imaging for .NET proporciona las API necesarias para cargar archivos CDR, configurar la rasterización vectorial y guardar el resultado como PNG.

Explorar