BmpImage

BmpImage(string)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(string path)
ParámetroEscribeDescripción
pathStringLa ruta para cargar la imagen e inicializar los datos de píxeles y paletas.

Excepciones

excepcióncondición
ArgumentNullExceptionla imagen rasterizada es nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar una BmpImage desde un archivo.

[C#]

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

// Cargar una imagen BMP desde un archivo.
// Los píxeles de origen se convertirán al formato de 32 bpp si es necesario.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(dir + "sample.bmp"))
{
    // Haz algo de procesamiento de imágenes.
    // Guardar en otro archivo BMP.
    bmpImage.Save(dir + "sample.output.32bpp.bmp");
}

Ver también


BmpImage(string, ushort, BitmapCompression, double, double)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(string path, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ParámetroEscribeDescripción
pathStringLa ruta para cargar la imagen e inicializar los datos de píxeles y paletas.
bitsPerPixelUInt16Los bits por píxel.
compressionBitmapCompressionLa compresión a utilizar.
horizontalResolutionDoubleLa resolución horizontal. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.
verticalResolutionDoubleLa resolución vertical. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.

Excepciones

excepcióncondición
ArgumentNullExceptionLa imagen rasterizada no puede ser nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar una BmpImage desde un archivo con la profundidad de bits y la resolución especificadas.

[C#]

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

// Cargar una imagen BMP desde un archivo.
// Los píxeles de origen se convertirán al formato de 24 bpp si es necesario.
// La resolución se establecerá en 96 ppp.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage =
    new Aspose.Imaging.FileFormats.Bmp.BmpImage(dir + "sample.bmp", 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
    // Haz algo de procesamiento de imágenes.
    // Guardar en otro archivo BMP.
    bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
}

Ver también


BmpImage(Stream)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(Stream stream)
ParámetroEscribeDescripción
streamStreamLa secuencia para cargar la imagen e inicializar los datos de píxeles y paletas.

Excepciones

excepcióncondición
ArgumentNullExceptionLa imagen rasterizada no puede ser nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar una BmpImage desde un flujo de archivos.

[C#]

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

// Cargar una imagen BMP desde un flujo de archivos.
// Los píxeles de origen se convertirán al formato de 32 bpp si es necesario.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.bmp"))
{
    using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(stream))
    {
        // Haz algo de procesamiento de imágenes.
        // Guardar en otro archivo BMP.
        bmpImage.Save(dir + "sample.output.32bpp.bmp");
    }
}

Ver también


BmpImage(Stream, ushort, BitmapCompression, double, double)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(Stream stream, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ParámetroEscribeDescripción
streamStreamLa secuencia para cargar la imagen e inicializar los datos de píxeles y paletas.
bitsPerPixelUInt16Los bits por píxel.
compressionBitmapCompressionLa compresión a utilizar.
horizontalResolutionDoubleLa resolución horizontal. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.
verticalResolutionDoubleLa resolución vertical. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.

Excepciones

excepcióncondición
ArgumentNullExceptionLa imagen rasterizada no puede ser nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar una BmpImage desde un flujo de archivos con la profundidad de bits y la resolución especificadas.

[C#]

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

// Cargar una imagen BMP desde un flujo de archivos.
// Los píxeles de origen se convertirán al formato de 24 bpp si es necesario.
// La resolución se establecerá en 96 ppp.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.bmp"))
{
    using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage =
        new Aspose.Imaging.FileFormats.Bmp.BmpImage(stream, 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
    {
        // Haz algo de procesamiento de imágenes.
        // Guardar en otro archivo BMP.
        bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
    }
}

Ver también


BmpImage(RasterImage)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(RasterImage rasterImage)
ParámetroEscribeDescripción
rasterImageRasterImageLa imagen con la que inicializar los datos de píxeles y paletas.

Excepciones

excepcióncondición
ArgumentNullExceptionLa imagen rasterizada no puede ser nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar un BmpImage desde otra instancia de RasterImage.

[C#]

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

// Crea una nueva imagen PNG.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
    // Rellena toda la imagen PNG en rojo.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(rasterImage);
    Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(brush, rasterImage.Bounds);

    // Crea una imagen BMP basada en la imagen PNG.
    // Los píxeles de origen se convertirán al formato de 32 bpp si es necesario.
    using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(rasterImage))
    {
        // Guardar en un archivo BMP
        bmpImage.Save(dir + "output.32bpp.bmp");
    }
}

Ver también


BmpImage(RasterImage, ushort, BitmapCompression, double, double)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(RasterImage rasterImage, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ParámetroEscribeDescripción
rasterImageRasterImageLa imagen con la que inicializar los datos de píxeles y paletas.
bitsPerPixelUInt16Los bits por píxel.
compressionBitmapCompressionLa compresión a utilizar.
horizontalResolutionDoubleLa resolución horizontal. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.
verticalResolutionDoubleLa resolución vertical. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.

Excepciones

excepcióncondición
ArgumentNullExceptionLa imagen rasterizada no puede ser nula;rasterImage
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo cargar una BmpImage desde otra instancia de RasterImage con la profundidad de bits y la compresión especificadas.

[C#]

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

// Crea una nueva imagen PNG.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
    // Rellena toda la imagen PNG en rojo.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(rasterImage);
    Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(brush, rasterImage.Bounds);

    // Crea una imagen BMP basada en la imagen PNG.
    // Los píxeles de origen se convertirán al formato de 24 bpp si es necesario.
    // La resolución se establecerá en 96 ppp.
    using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(rasterImage, 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
    {
        // Guardar en un archivo BMP
        bmpImage.Save(dir + "output.24bpp.96dpi.bmp");
    }
}

Ver también


BmpImage(int, int)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(int width, int height)
ParámetroEscribeDescripción
widthInt32El ancho de la imagen.
heightInt32La altura de la imagen.

Excepciones

excepcióncondición
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo crear una BmpImage del tamaño especificado.

[C#]

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

// Crea una imagen BMP de 32 bpp de 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
    // Rellena toda la imagen en rojo.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
    Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(brush, bmpImage.Bounds);

    // Guardar en un archivo BMP
    bmpImage.Save(dir + "output.bmp");
}

El siguiente ejemplo muestra cómo paletizar una imagen BMP para reducir su tamaño de salida.

[C#]

// Crea una imagen BMP de 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
    // El degradado lineal desde la esquina superior izquierda hasta la esquina inferior derecha de la imagen.
    Aspose.Imaging.Brushes.LinearGradientBrush brush =
        new Aspose.Imaging.Brushes.LinearGradientBrush(
            new Aspose.Imaging.Point(0, 0),
            new Aspose.Imaging.Point(bmpImage.Width, bmpImage.Height),
            Aspose.Imaging.Color.Red,
            Aspose.Imaging.Color.Green);

    // Rellena toda la imagen con el pincel de degradado lineal.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
    gr.FillRectangle(brush, bmpImage.Bounds);

    // Obtenga la paleta de colores de 8 bits más cercana que cubra tantos píxeles como sea posible, de modo que una imagen paletizada
    // es casi indistinguible visualmente de uno no paletizado.
    Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

    // La paleta de 8 bits contiene como máximo 256 colores.
    Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
    saveOptions.Palette = palette;
    saveOptions.BitsPerPixel = 8;

    using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
    {
        bmpImage.Save(stream, saveOptions);
        System.Console.WriteLine("The palettized image size is {0} bytes.", stream.Length);
    }

    using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
    {
        bmpImage.Save(stream);
        System.Console.WriteLine("The non-palettized image size is {0} bytes.", stream.Length);
    }
}

// La salida se ve así:
// El tamaño de la imagen paletizada es de 11078 bytes.
// El tamaño de la imagen no paletizada es de 40054 bytes.

Ver también


BmpImage(int, int, ushort, IColorPalette)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette)
ParámetroEscribeDescripción
widthInt32El ancho de la imagen.
heightInt32La altura de la imagen.
bitsPerPixelUInt16Los bits por píxel.
paletteIColorPaletteLa paleta de colores.

Excepciones

excepcióncondición
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo crear una BmpImage del tamaño especificado con la paleta especificada.

[C#]

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

Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
    Aspose.Imaging.Color.Red,
    Aspose.Imaging.Color.Green,
};

// Cree una paleta monocromática que contenga solo colores rojo y verde.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);

// Cree una imagen BMP monocromática de 1 bpp de 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 1, palette))
{
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);

    // Rellena la mitad superior de la imagen en rojo.
    Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(redBrush, new Aspose.Imaging.Rectangle(0, 0, bmpImage.Width, bmpImage.Height / 2));

    // Rellena la mitad inferior de la imagen en verde.
    Aspose.Imaging.Brushes.SolidBrush greenBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Green);
    gr.FillRectangle(greenBrush, new Aspose.Imaging.Rectangle(0, bmpImage.Height / 2, bmpImage.Width, bmpImage.Height / 2));

    // Guardar en BMP
    bmpImage.Save(dir + "output.monochrome.bmp");
}

Ver también


BmpImage(int, int, ushort, IColorPalette, BitmapCompression, double, double)

Inicializa una nueva instancia delBmpImage clase.

public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette, 
    BitmapCompression compression, double horizontalResolution, double verticalResolution)
ParámetroEscribeDescripción
widthInt32El ancho de la imagen.
heightInt32La altura de la imagen.
bitsPerPixelUInt16Los bits por píxel.
paletteIColorPaletteLa paleta de colores.
compressionBitmapCompressionLa compresión a utilizar.
horizontalResolutionDoubleLa resolución horizontal. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.
verticalResolutionDoubleLa resolución vertical. Tenga en cuenta que, debido al redondeo, la resolución resultante puede diferir ligeramente de la pasada.

Excepciones

excepcióncondición
BmpImageExceptionLa altura debe ser positiva.
ArgumentExceptionPaleta debe especificarse para imágenes con 8 bits por píxel o menos.;paleta

Ejemplos

El ejemplo muestra cómo crear un BmpImage usando varias opciones.

[C#]

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

Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
    Aspose.Imaging.Color.Red,
    Aspose.Imaging.Color.Green,
};

// Cree una paleta monocromática que contenga solo colores rojo y verde.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);

// Cree una imagen BMP monocromática de 1 bpp de 100 x 100 px.
// La resolución horizontal y vertical se establecerá en 96 ppp.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 1, palette, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);

    // Rellena la mitad superior de la imagen en rojo.
    Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(redBrush, new Aspose.Imaging.Rectangle(0, 0, bmpImage.Width, bmpImage.Height / 2));

    // Rellena la mitad inferior de la imagen en verde.
    Aspose.Imaging.Brushes.SolidBrush greenBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Green);
    gr.FillRectangle(greenBrush, new Aspose.Imaging.Rectangle(0, bmpImage.Height / 2, bmpImage.Width, bmpImage.Height / 2));

    // Guardar en un archivo BMP
    bmpImage.Save(dir + "output.monochrome.96dpi.bmp");
}

Ver también