Прочитать на английском

Поделиться через


Bitmap Конструкторы

Определение

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

Перегрузки

Bitmap(Image)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения.

Bitmap(Stream)

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

Bitmap(String)

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

Bitmap(Image, Size)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.

Bitmap(Int32, Int32)

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

Bitmap(Stream, Boolean)

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

Bitmap(String, Boolean)

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

Bitmap(Type, String)

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

Bitmap(Image, Int32, Int32)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.

Bitmap(Int32, Int32, Graphics)

Инициализирует новый экземпляр класса Bitmap с заданным размером и с разрешением указанного объекта Graphics.

Bitmap(Int32, Int32, PixelFormat)

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

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

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

Bitmap(Image)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения.

public Bitmap (System.Drawing.Image original);

Параметры

original
Image

Объект Image, из которого будет создан новый объект Bitmap.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Stream)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (System.IO.Stream stream);

Параметры

stream
Stream

Поток данных, используемый для загрузки изображения.

Исключения

Параметр stream не содержит данные изображения или равен null.

-или-

Поток stream содержит файл изображения PNG, один из размеров которого превышает 65535 пикселей.

Примеры

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

Этот пример предназначен для использования с Windows Forms. Create форму, содержащую PictureBox с именем PictureBox1. Вставьте код в форму и вызовите InitializeStreamBitmap метод из конструктора формы или Load метода обработки событий.

private void InitializeStreamBitmap()
{
    try
    {
        System.Net.WebRequest request = 
            System.Net.WebRequest.Create(
            "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
        System.Net.WebResponse response = request.GetResponse();
        System.IO.Stream responseStream = 
            response.GetResponseStream();
        Bitmap bitmap2 = new Bitmap(responseStream);
        PictureBox1.Image = bitmap2;
    }
    catch(System.Net.WebException)
    {
        MessageBox.Show("There was an error opening the image file."
           + "Check the URL");
    }
}

Комментарии

Поток должен оставаться открытым в течение всего времени существования Bitmap.

Из-за ограничения декодера System.ArgumentException GDI+ создается при создании растрового изображения из файла .png изображения с одним измерением более 65 535 пикселей.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(String)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (string filename);

Параметры

filename
String

Имя файла растрового изображения и путь к нему.

Исключения

Указанный файл не найден.

Комментарии

Имя файла и путь могут быть относительно приложения или абсолютным путем. Используйте этот конструктор для открытия изображений в следующих форматах файлов: BMP, GIF, EXIF, JPG, PNG и TIFF. Дополнительные сведения о поддерживаемых форматах см. в разделе Типы растровых изображений. Файл остается заблокированным до тех пор, пока не Bitmap будет удален.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Image, Size)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.

public Bitmap (System.Drawing.Image original, System.Drawing.Size newSize);

Параметры

original
Image

Объект Image, из которого будет создан новый объект Bitmap.

newSize
Size

Структура Size, представляющая размер нового изображения Bitmap.

Исключения

Операция не удалась.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Int32, Int32)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (int width, int height);

Параметры

width
Int32

Ширина в пикселях нового изображения Bitmap.

height
Int32

Высота в пикселях нового изображения Bitmap.

Исключения

Операция не удалась.

Комментарии

Этот конструктор создает Bitmap со значением PixelFormat перечисления Format32bppArgb.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Stream, Boolean)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (System.IO.Stream stream, bool useIcm);

Параметры

stream
Stream

Поток данных, используемый для загрузки изображения.

useIcm
Boolean

Значение true, чтобы воспользоваться цветокоррекцией для этого изображения Bitmap; в противном случае — значение false.

Исключения

Параметр stream не содержит данные изображения или равен null.

-или-

Поток stream содержит файл изображения PNG, один из размеров которого превышает 65535 пикселей.

Комментарии

Поток должен оставаться открытым в течение всего времени существования Bitmap.

Из-за ограничения декодера System.ArgumentException GDI+ создается при создании растрового изображения из файла .png изображения с одним измерением более 65 535 пикселей.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(String, Boolean)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (string filename, bool useIcm);

Параметры

filename
String

Имя файла точечного рисунка.

useIcm
Boolean

Значение true, чтобы воспользоваться цветокоррекцией для этого изображения Bitmap; в противном случае — значение false.

Примеры

В следующем примере кода показано, как создать новое растровое изображение из файла. В примере используются методы GetPixel и SetPixel для перекраски изображения. Он также использует PixelFormat свойство .

Этот пример предназначен для использования с Формой Windows Forms, содержащей Label, PictureBox и Button с именами Label1, PictureBox1 и Button1соответственно. Вставьте код в форму и свяжите Button1_Click метод с событием кнопки Click .

Bitmap image1;

private void Button1_Click(System.Object sender, System.EventArgs e)
{

    try
    {
        // Retrieve the image.
        image1 = new Bitmap(@"C:\Documents and Settings\All Users\" 
            + @"Documents\My Music\music.bmp", true);

        int x, y;

        // Loop through the images pixels to reset color.
        for(x=0; x<image1.Width; x++)
        {
            for(y=0; y<image1.Height; y++)
            {
                Color pixelColor = image1.GetPixel(x, y);
                Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
                image1.SetPixel(x, y, newColor);
            }
        }

        // Set the PictureBox to display the image.
        PictureBox1.Image = image1;

        // Display the pixel format in Label1.
        Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();
    }
    catch(ArgumentException)
    {
        MessageBox.Show("There was an error." +
            "Check the path to the image file.");
    }
}

Комментарии

Используйте этот конструктор для открытия изображений в следующих форматах файлов: BMP, GIF, EXIF, JPG, PNG и TIFF. Дополнительные сведения о поддерживаемых форматах см. в разделе Типы растровых изображений. Файл остается заблокированным до тех пор, пока не Bitmap будет удален.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Type, String)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (Type type, string resource);

Параметры

type
Type

Класс, используемый для извлечения ресурсов.

resource
String

Имя ресурса.

Примеры

В следующем примере кода показано, как создать растровое изображение из типа и как использовать Save метод . Чтобы запустить этот пример, вставьте код в форму Windows Forms. Обработайте событие формы Paint и вызовите ConstructFromResourceSaveAsGif метод , передав как ePaintEventArgs

private void ConstructFromResourceSaveAsGif(PaintEventArgs e)
{

    // Construct a bitmap from the button image resource.
    Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");

    // Save the image as a GIF.
    bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);

    // Construct a new image from the GIF file.
    Bitmap bmp2 = new Bitmap("c:\\button.gif");

    // Draw the two images.
    e.Graphics.DrawImage(bmp1, new Point(10, 10));
    e.Graphics.DrawImage(bmp2, new Point(10, 40));

    // Dispose of the image files.
    bmp1.Dispose();
    bmp2.Dispose();
}

Комментарии

Этот конструктор объединяет пространство имен заданного типа со строковым именем ресурса и ищет совпадение в манифесте сборки. Например, можно передать тип и Button.bmp в Button этот конструктор, и он будет искать ресурс с именем System.Windows.Forms.Button.bmp.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Image, Int32, Int32)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.

public Bitmap (System.Drawing.Image original, int width, int height);

Параметры

original
Image

Объект Image, из которого будет создан новый объект Bitmap.

width
Int32

Ширина в пикселях нового изображения Bitmap.

height
Int32

Высота в пикселях нового изображения Bitmap.

Исключения

Операция не удалась.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Int32, Int32, Graphics)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

Инициализирует новый экземпляр класса Bitmap с заданным размером и с разрешением указанного объекта Graphics.

public Bitmap (int width, int height, System.Drawing.Graphics g);

Параметры

width
Int32

Ширина в пикселях нового изображения Bitmap.

height
Int32

Высота в пикселях нового изображения Bitmap.

g
Graphics

Объект Graphics, который определяет разрешение нового объекта Bitmap.

Исключения

g имеет значение null.

Комментарии

Новый Bitmap объект, создаваемый этим методом, принимает горизонтальное и вертикальное DpiX разрешение из свойств gи DpiY соответственно.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Int32, Int32, PixelFormat)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (int width, int height, System.Drawing.Imaging.PixelFormat format);

Параметры

width
Int32

Ширина в пикселях нового изображения Bitmap.

height
Int32

Высота в пикселях нового изображения Bitmap.

format
PixelFormat

Формат пикселей для нового объекта Bitmap. Необходимо указать значение, начинающееся с Format.

Исключения

Задано значение PixelFormat, имя которого не начинается с Format. Например, задание поля Gdi приведет к ArgumentException, но Format48bppRgb не приведет.

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public Bitmap (int width, int height, int stride, System.Drawing.Imaging.PixelFormat format, IntPtr scan0);

Параметры

width
Int32

Ширина в пикселях нового изображения Bitmap.

height
Int32

Высота в пикселях нового изображения Bitmap.

stride
Int32

Целое число, определяющее смещение в байтах между строкой развертки и следующей строкой развертки. Обычно (но необязательно) это число байтов в формате пикселей (например, 2 для 16 битов на пиксель), умноженное на ширину точечного рисунка. Значение, переданное в этот параметр, должно быть кратно четырем.

format
PixelFormat

Формат пикселей для нового объекта Bitmap. Необходимо указать значение, начинающееся с Format.

scan0
IntPtr

Указатель на массив байтов, содержащий данные пикселей.

Исключения

Задано значение PixelFormat, имя которого не начинается с Format. Например, задание поля Gdi приведет к ArgumentException, но Format48bppRgb не приведет.

Примеры

В следующем примере кода показано, как использовать Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) конструктор . Этот пример предназначен для использования с Windows Forms и требует PaintEventArgs параметра , который является параметром Paint события .

private void BitmapConstructorEx(PaintEventArgs e)
{

    // Create a bitmap.
    Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");
    
   // Retrieve the bitmap data from the bitmap.
    System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), 
        ImageLockMode.ReadOnly, bmp.PixelFormat);

    //Create a new bitmap.
    Bitmap newBitmap = new Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0);

    bmp.UnlockBits(bmpData);

    // Draw the new bitmap.
    e.Graphics.DrawImage(newBitmap, 10, 10);
}

Комментарии

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

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9