BmpImage

BmpImage(string)

Инициализирует новый экземплярBmpImage класс.

public BmpImage(string path)
ПараметрТипОписание
pathStringПуть для загрузки изображения и инициализации данных пикселей и палитры.

Исключения

исключениеусловие
ArgumentNullExceptionрастровое изображение равно null;rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из файла.

[C#]

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

// Загрузить изображение BMP из файла.
// При необходимости исходные пиксели будут преобразованы в 32-битный формат.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(dir + "sample.bmp"))
{
    // Выполнить некоторую обработку изображения.
    // Сохраняем в другой файл BMP.
    bmpImage.Save(dir + "sample.output.32bpp.bmp");
}

Смотрите также


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

Инициализирует новый экземплярBmpImage класс.

public BmpImage(string path, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ПараметрТипОписание
pathStringПуть для загрузки изображения и инициализации данных пикселей и палитры.
bitsPerPixelUInt16Бит на пиксель.
compressionBitmapCompressionИспользуемое сжатие.
horizontalResolutionDoubleГоризонтальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.
verticalResolutionDoubleВертикальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.

Исключения

исключениеусловие
ArgumentNullExceptionРастровое изображение не может быть нулевым; rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из файла с указанной битовой глубиной и разрешением.

[C#]

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

// Загрузить изображение BMP из файла.
// При необходимости исходные пиксели будут преобразованы в 24-битный формат.
// Разрешение будет установлено на 96 dpi.
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))
{
    // Выполнить некоторую обработку изображения.
    // Сохраняем в другой файл BMP.
    bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
}

Смотрите также


BmpImage(Stream)

Инициализирует новый экземплярBmpImage класс.

public BmpImage(Stream stream)
ПараметрТипОписание
streamStreamПоток для загрузки изображения и инициализации данных пикселей и палитры.

Исключения

исключениеусловие
ArgumentNullExceptionРастровое изображение не может быть нулевым; rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из файлового потока.

[C#]

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

// Загружаем BMP-изображение из файлового потока.
// При необходимости исходные пиксели будут преобразованы в 32-битный формат.
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))
    {
        // Выполнить некоторую обработку изображения.
        // Сохраняем в другой файл BMP.
        bmpImage.Save(dir + "sample.output.32bpp.bmp");
    }
}

Смотрите также


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

Инициализирует новый экземплярBmpImage класс.

public BmpImage(Stream stream, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ПараметрТипОписание
streamStreamПоток для загрузки изображения и инициализации данных пикселей и палитры.
bitsPerPixelUInt16Бит на пиксель.
compressionBitmapCompressionИспользуемое сжатие.
horizontalResolutionDoubleГоризонтальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.
verticalResolutionDoubleВертикальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.

Исключения

исключениеусловие
ArgumentNullExceptionРастровое изображение не может быть нулевым; rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из файлового потока с указанной глубиной цвета и разрешением.

[C#]

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

// Загружаем BMP-изображение из файлового потока.
// При необходимости исходные пиксели будут преобразованы в 24-битный формат.
// Разрешение будет установлено на 96 dpi.
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))
    {
        // Выполнить некоторую обработку изображения.
        // Сохраняем в другой файл BMP.
        bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
    }
}

Смотрите также


BmpImage(RasterImage)

Инициализирует новый экземплярBmpImage класс.

public BmpImage(RasterImage rasterImage)
ПараметрТипОписание
rasterImageRasterImageИзображение для инициализации данных пикселей и палитры.

Исключения

исключениеусловие
ArgumentNullExceptionРастровое изображение не может быть нулевым; rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из другого экземпляра RasterImage.

[C#]

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

// Создаем новое изображение 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))
{
    // Заливаем все PNG-изображение красным цветом.
    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);

    // Создаем изображение BMP на основе изображения PNG.
    // При необходимости исходные пиксели будут преобразованы в 32-битный формат.
    using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(rasterImage))
    {
        // Сохраняем в BMP файл
        bmpImage.Save(dir + "output.32bpp.bmp");
    }
}

Смотрите также


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

Инициализирует новый экземплярBmpImage класс.

public BmpImage(RasterImage rasterImage, ushort bitsPerPixel, BitmapCompression compression, 
    double horizontalResolution, double verticalResolution)
ПараметрТипОписание
rasterImageRasterImageИзображение для инициализации данных пикселей и палитры.
bitsPerPixelUInt16Бит на пиксель.
compressionBitmapCompressionИспользуемое сжатие.
horizontalResolutionDoubleГоризонтальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.
verticalResolutionDoubleВертикальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.

Исключения

исключениеусловие
ArgumentNullExceptionРастровое изображение не может быть нулевым; rasterImage
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как загрузить BmpImage из другого экземпляра RasterImage с указанной глубиной цвета и сжатием.

[C#]

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

// Создаем новое изображение 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))
{
    // Заливаем все PNG-изображение красным цветом.
    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);

    // Создаем изображение BMP на основе изображения PNG.
    // При необходимости исходные пиксели будут преобразованы в 24-битный формат.
    // Разрешение будет установлено на 96 dpi.
    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))
    {
        // Сохраняем в BMP файл
        bmpImage.Save(dir + "output.24bpp.96dpi.bmp");
    }
}

Смотрите также


BmpImage(int, int)

Инициализирует новый экземплярBmpImage класс.

public BmpImage(int width, int height)
ПараметрТипОписание
widthInt32Ширина изображения.
heightInt32Высота изображения.

Исключения

исключениеусловие
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как создать BmpImage указанного размера.

[C#]

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

// Создаем BMP-изображение 32 бита на пиксель размером 100 x 100 пикселей.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
    // Заливаем все изображение красным.
    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);

    // Сохраняем в BMP файл
    bmpImage.Save(dir + "output.bmp");
}

В следующем примере показано, как разместить изображение BMP на поддонах, чтобы уменьшить его выходной размер.

[C#]

// Создаем BMP-изображение 100 x 100 пикселей.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
    // Линейный градиент от левого верхнего до правого нижнего угла изображения.
    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);

    // Залейте все изображение кистью линейного градиента.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
    gr.FillRectangle(brush, bmpImage.Bounds);

    // Получаем ближайшую 8-битную цветовую палитру, покрывающую максимально возможное количество пикселей, чтобы изображение с палитрой
    // визуально практически неотличим от не палетированного.
    Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

    // 8-битная палитра содержит не более 256 цветов.
    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);
    }
}

// Вывод выглядит так:
// Размер изображения с палитрой составляет 11078 байт.
// Размер изображения без палитры составляет 40054 байта.

Смотрите также


BmpImage(int, int, ushort, IColorPalette)

Инициализирует новый экземплярBmpImage класс.

public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette)
ПараметрТипОписание
widthInt32Ширина изображения.
heightInt32Высота изображения.
bitsPerPixelUInt16Бит на пиксель.
paletteIColorPaletteЦветовая палитра.

Исключения

исключениеусловие
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как создать BmpImage указанного размера с указанной палитрой.

[C#]

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

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

// Создаем монохромную палитру, содержащую только красный и зеленый цвета.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);

// Создаем монохромное BMP-изображение 1 бит на пиксель размером 100 x 100 пикселей.
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);

    // Заливаем верхнюю половину изображения красным цветом.
    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));

    // Заливаем нижнюю половину изображения зеленым цветом.
    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));

    // Сохраняем в BMP
    bmpImage.Save(dir + "output.monochrome.bmp");
}

Смотрите также


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

Инициализирует новый экземплярBmpImage класс.

public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette, 
    BitmapCompression compression, double horizontalResolution, double verticalResolution)
ПараметрТипОписание
widthInt32Ширина изображения.
heightInt32Высота изображения.
bitsPerPixelUInt16Бит на пиксель.
paletteIColorPaletteЦветовая палитра.
compressionBitmapCompressionИспользуемое сжатие.
horizontalResolutionDoubleГоризонтальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.
verticalResolutionDoubleВертикальное разрешение. Обратите внимание, что из-за округления результирующее разрешение может незначительно отличаться от переданного.

Исключения

исключениеусловие
BmpImageExceptionВысота должна быть положительной.
ArgumentExceptionПалитра должна быть указана для изображений с 8 битами на пиксель или меньше.;палитра

Примеры

В примере показано, как создать BmpImage, используя различные параметры.

[C#]

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

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

// Создаем монохромную палитру, содержащую только красный и зеленый цвета.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);

// Создаем монохромное BMP-изображение 1 бит на пиксель размером 100 x 100 пикселей.
// Горизонтальное и вертикальное разрешение будет установлено на 96 dpi.
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);

    // Заливаем верхнюю половину изображения красным цветом.
    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));

    // Заливаем нижнюю половину изображения зеленым цветом.
    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));

    // Сохраняем в BMP файл
    bmpImage.Save(dir + "output.monochrome.96dpi.bmp");
}

Смотрите также