ColorType

JpegOptions.ColorType property

Obtiene o establece el tipo de color para la imagen jpeg.

public JpegCompressionColorMode ColorType { get; set; }

Ejemplos

El siguiente ejemplo carga una imagen BMP y la guarda en JPEG usando varias opciones de guardado.

[C#]

string dir = "c:\\temp\\";

// Cargar una imagen BMP desde un archivo.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
    // Haz algo de procesamiento de imágenes.

    // Use opciones adicionales para especificar los parámetros de imagen deseados.
    Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();

    // El número de bits por canal es 8.
    // Cuando se usa una paleta, el índice de color se almacena en los datos de la imagen en lugar del color en sí.
    saveOptions.BitsPerChannel = 8;

    // Establecer el tipo progresivo de compresión.
    saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;

    // Establecer la calidad de la imagen. Es un valor entre 1 y 100.
    saveOptions.Quality = 100;

    // Establezca la resolución horizontal/vertical en 96 puntos por pulgada.
    saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
    saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;

    // Si la imagen de origen está coloreada, se convertirá a escala de grises.
    saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;

    // Usa una paleta para reducir el tamaño de salida.
    saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);

    image.Save(dir + "sample.palettized.jpg", saveOptions);
}

El siguiente ejemplo carga PNG y lo guarda en CMYK JPEG utilizando un perfil ICC personalizado. Luego carga CMYK JPEG y lo guarda de nuevo en PNG. La conversión de color de RGB a CMYK y de CMYK a RGB se realiza mediante perfiles ICC personalizados.

[C#]

string dir = "c:\\temp\\";

// Carga PNG y guárdalo en CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
    using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
    using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
    {
        Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
        saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;

        // Usar perfiles ICC personalizados
        saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
        saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);

        image.Save(dir + "output.cmyk.jpg", saveOptions);
    }
}

// Cargue CMYK JPEG y guárdelo en PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
    using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
    using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
    {
        // Usar perfiles ICC personalizados
        image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
        image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);

        Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
        image.Save(dir + "output.rgb.png", saveOptions);
    }
}

El siguiente ejemplo muestra cómo crear una imagen JPEG del tamaño especificado con los parámetros especificados.

[C#]

string dir = "c:\\temp\\";

// Crea una imagen JPEG de 100x100 px.
// Use opciones adicionales para especificar los parámetros de imagen deseados.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();

// El número de bits por canal es 8, 8, 8 para los componentes Y, Cr, Cb en consecuencia.
createOptions.BitsPerChannel = 8;

// Establecer el tipo progresivo de compresión.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;

// Establecer la calidad de la imagen. Es un valor entre 1 y 100.
createOptions.Quality = 100;

// Establezca la resolución horizontal/vertical en 96 puntos por pulgada.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;

// Esta es una opción estándar para imágenes JPEG.
// Dos componentes de croma (Cb y Cr) se pueden reducir en ancho de banda, submuestrear y comprimir.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;

using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
    Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);

    Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
        new Aspose.Imaging.Point(0, 0),
        new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
        Aspose.Imaging.Color.Yellow,
        Aspose.Imaging.Color.Blue);

    // Rellena la imagen con un degradado en escala de grises
    graphics.FillRectangle(gradientBrush, jpegImage.Bounds);

    // Guardar en un archivo.
    jpegImage.Save(dir + "output.explicitoptions.jpg");
}

Ver también