Бөлісу құралы:


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.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs
Исходный код:
Bitmap.cs

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

public:
 Bitmap(System::Drawing::Image ^ original);
public Bitmap(System.Drawing.Image original);
new System.Drawing.Bitmap : System.Drawing.Image -> System.Drawing.Bitmap
Public Sub New (original As Image)

Параметры

original
Image

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

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

Bitmap(Stream)

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

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

public:
 Bitmap(System::IO::Stream ^ stream);
public Bitmap(System.IO.Stream stream);
new System.Drawing.Bitmap : System.IO.Stream -> System.Drawing.Bitmap
Public Sub New (stream As Stream)

Параметры

stream
Stream

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

Исключения

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

–или–

stream содержит файл изображения PNG с одним измерением больше 65 535 пикселей.

Примеры

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

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

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 = gcnew Bitmap( responseStream );
      PictureBox1->Image = bitmap2;
   }
   catch ( System::Net::WebException^ ) 
   {
      MessageBox::Show( "There was an error opening the image file."
      "Check the URL" );
   }

}
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");
    }
}
Private Sub InitializeStreamBitmap()
    Try
        Dim request As System.Net.WebRequest = _
            System.Net.WebRequest.Create( _
            "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif")
        Dim response As System.Net.WebResponse = request.GetResponse()
        Dim responseStream As System.IO.Stream = response.GetResponseStream()
        Dim bitmap2 As New Bitmap(responseStream)
        PictureBox1.Image = bitmap2

    Catch ex As System.Net.WebException
        MessageBox.Show("There was an error opening the image file. Check the URL")
    End Try
End Sub

Комментарии

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

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

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

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

Bitmap(String)

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

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

public:
 Bitmap(System::String ^ filename);
public Bitmap(string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)

Параметры

filename
String

Имя и путь к растровой карте.

Исключения

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

Комментарии

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

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

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

Bitmap(Image, Size)

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

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

public:
 Bitmap(System::Drawing::Image ^ original, System::Drawing::Size newSize);
public Bitmap(System.Drawing.Image original, System.Drawing.Size newSize);
new System.Drawing.Bitmap : System.Drawing.Image * System.Drawing.Size -> System.Drawing.Bitmap
Public Sub New (original As Image, newSize As Size)

Параметры

original
Image

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

newSize
Size

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

Исключения

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

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

Bitmap(Int32, Int32)

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

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

public:
 Bitmap(int width, int height);
public Bitmap(int width, int height);
new System.Drawing.Bitmap : int * int -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer)

Параметры

width
Int32

Ширина (в пикселях) нового Bitmap.

height
Int32

Высота (в пикселях) нового Bitmap.

Исключения

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

Комментарии

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

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

Bitmap(Stream, Boolean)

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

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

public:
 Bitmap(System::IO::Stream ^ stream, bool useIcm);
public Bitmap(System.IO.Stream stream, bool useIcm);
new System.Drawing.Bitmap : System.IO.Stream * bool -> System.Drawing.Bitmap
Public Sub New (stream As Stream, useIcm As Boolean)

Параметры

stream
Stream

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

useIcm
Boolean

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

Исключения

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

–или–

stream содержит файл изображения PNG с одним измерением больше 65 535 пикселей.

Комментарии

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

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

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

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

Bitmap(String, Boolean)

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

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

public:
 Bitmap(System::String ^ filename, bool useIcm);
public Bitmap(string filename, bool useIcm);
new System.Drawing.Bitmap : string * bool -> System.Drawing.Bitmap
Public Sub New (filename As String, useIcm As Boolean)

Параметры

filename
String

Имя растрового файла.

useIcm
Boolean

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

Примеры

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

Этот пример предназначен для использования с формой Windows Form, содержащей LabelPictureBox и именованный Label1PictureBox1 , Button а Button1также соответственно. Вставьте код в форму и свяжите Button1_Click метод с событием кнопки Click .

private:
   Bitmap^ image1;
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      try
      {
         
         // Retrieve the image.
         image1 = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\"
         "Documents\\My Music\\music.bmp",true );
         int x;
         int 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 = String::Format( "Pixel format: {0}", image1->PixelFormat );
      }
      catch ( ArgumentException^ ) 
      {
         MessageBox::Show( "There was an error."
         "Check the path to the image file." );
      }

   }
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.");
    }
}
Dim image1 As Bitmap

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    Try
        ' Retrieve the image.
        image1 = New Bitmap( _
            "C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
            True)

        Dim x, y As Integer

        ' Loop through the images pixels to reset color.
        For x = 0 To image1.Width - 1
            For y = 0 To image1.Height - 1
                Dim pixelColor As Color = image1.GetPixel(x, y)
                Dim newColor As Color = _
                    Color.FromArgb(pixelColor.R, 0, 0)
                image1.SetPixel(x, y, newColor)
            Next
        Next

        ' Set the PictureBox to display the image.
        PictureBox1.Image = image1

        ' Display the pixel format in Label1.
        Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()

    Catch ex As ArgumentException
        MessageBox.Show("There was an error." _
            & "Check the path to the image file.")
    End Try
End Sub

Комментарии

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

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

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

Bitmap(Type, String)

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

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

public:
 Bitmap(Type ^ type, System::String ^ resource);
public Bitmap(Type type, string resource);
new System.Drawing.Bitmap : Type * string -> System.Drawing.Bitmap
Public Sub New (type As Type, resource As String)

Параметры

type
Type

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

resource
String

Имя ресурса.

Примеры

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

private:
    void ConstructFromResourceSaveAsGif(PaintEventArgs^ e)
    {
        // Construct a bitmap from the button image resource.
        Bitmap^ bmp1 = gcnew Bitmap(Button::typeid, "Button.bmp");
        String^ savePath =  
            Environment::GetEnvironmentVariable("TEMP") + "\\Button.bmp";

        try
        {
            // Save the image as a GIF.
            bmp1->Save(savePath, System::Drawing::Imaging::ImageFormat::Gif);
        }
        catch (IOException^)
        {
            // Carry on regardless
        }

        // Construct a new image from the GIF file.
        Bitmap^ bmp2 = nullptr;
        if (File::Exists(savePath))
        {
            bmp2 = gcnew Bitmap(savePath);
        }

        // Draw the two images.
        e->Graphics->DrawImage(bmp1, Point(10, 10));

        // If bmp1 did not save to disk, bmp2 may be null
        if (bmp2 != nullptr)
        {
            e->Graphics->DrawImage(bmp2, Point(10, 40));
        }

        // Dispose of the image files.
        delete bmp1;
        if (bmp2 != nullptr)
        {
            delete bmp2;
        }
    }
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();
}
Private Sub ConstructFromResourceSaveAsGif(ByVal e As PaintEventArgs)

    ' Construct a bitmap from the button image resource.
    Dim bmp1 As New Bitmap(GetType(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.
    Dim bmp2 As 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()
End Sub

Комментарии

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

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

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

Bitmap(Image, Int32, Int32)

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

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

public:
 Bitmap(System::Drawing::Image ^ original, int width, int height);
public Bitmap(System.Drawing.Image original, int width, int height);
new System.Drawing.Bitmap : System.Drawing.Image * int * int -> System.Drawing.Bitmap
Public Sub New (original As Image, width As Integer, height As Integer)

Параметры

original
Image

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

width
Int32

Ширина (в пикселях) нового Bitmap.

height
Int32

Высота (в пикселях) нового Bitmap.

Исключения

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

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

Bitmap(Int32, Int32, Graphics)

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

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

public:
 Bitmap(int width, int height, System::Drawing::Graphics ^ g);
public Bitmap(int width, int height, System.Drawing.Graphics g);
new System.Drawing.Bitmap : int * int * System.Drawing.Graphics -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, g As Graphics)

Параметры

width
Int32

Ширина (в пикселях) нового Bitmap.

height
Int32

Высота (в пикселях) нового Bitmap.

g
Graphics

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

Исключения

g равно null.

Комментарии

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

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

Bitmap(Int32, Int32, PixelFormat)

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

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

public:
 Bitmap(int width, int height, System::Drawing::Imaging::PixelFormat format);
public Bitmap(int width, int height, System.Drawing.Imaging.PixelFormat format);
new System.Drawing.Bitmap : int * int * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, format As PixelFormat)

Параметры

width
Int32

Ширина (в пикселях) нового Bitmap.

height
Int32

Высота (в пикселях) нового Bitmap.

format
PixelFormat

Формат пикселя для нового Bitmap. Это должно указывать значение, начинающееся с Format.

Исключения

PixelFormat Значение указывается, имя которого не начинается с format. Например, указание приведет к возникновению Gdi ошибки, но Format48bppRgb не ArgumentExceptionбудет.

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

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

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

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

public:
 Bitmap(int width, int height, int stride, System::Drawing::Imaging::PixelFormat format, IntPtr scan0);
public Bitmap(int width, int height, int stride, System.Drawing.Imaging.PixelFormat format, IntPtr scan0);
new System.Drawing.Bitmap : int * int * int * System.Drawing.Imaging.PixelFormat * nativeint -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, stride As Integer, format As PixelFormat, scan0 As IntPtr)

Параметры

width
Int32

Ширина (в пикселях) нового Bitmap.

height
Int32

Высота (в пикселях) нового Bitmap.

stride
Int32

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

format
PixelFormat

Формат пикселя для нового Bitmap. Это должно указывать значение, начинающееся с Format.

scan0
IntPtr

nativeint

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

Исключения

PixelFormat Значение указывается, имя которого не начинается с format. Например, указание приведет к возникновению Gdi ошибки, но Format48bppRgb не ArgumentExceptionбудет.

Примеры

В следующем примере кода показано, как использовать 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);
}
Private Sub BitmapConstructorEx(ByVal e As PaintEventArgs)

    ' Create a bitmap.
    Dim bmp As New Bitmap("c:\fakePhoto.jpg")

    ' Retrieve the bitmap data from the bitmap.
    Dim bmpData As System.Drawing.Imaging.BitmapData = bmp.LockBits(New Rectangle(0, 0, bmp.Width, bmp.Height), _
        ImageLockMode.ReadOnly, bmp.PixelFormat)

    'Create a new bitmap.
    Dim newBitmap As New Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0)

    bmp.UnlockBits(bmpData)

    ' Draw the new bitmap.
    e.Graphics.DrawImage(newBitmap, 10, 10)

End Sub

Комментарии

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

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