Bitmap Класс

Определение

Инкапсулирует точечный рисунок GDI+, состоящий из данных пикселей графического изображения и атрибутов рисунка.Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. Объект Bitmap используется для работы с изображениями, определяемыми данными пикселей.A Bitmap is an object used to work with images defined by pixel data.

public ref class Bitmap sealed : System::Drawing::Image
public sealed class Bitmap : System.Drawing.Image
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class Bitmap : System.Drawing.Image
type Bitmap = class
    inherit Image
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type Bitmap = class
    inherit Image
Public NotInheritable Class Bitmap
Inherits Image
Наследование
Атрибуты

Примеры

В следующем примере кода показано, как создать новый объект Bitmap из файла с помощью GetPixel SetPixel методов и для перекрашивания изображения.The following code example demonstrates how to construct a new Bitmap from a file, using the GetPixel and SetPixel methods to recolor the image. В нем также используются PixelFormat Width свойства, и Height .It also uses the PixelFormat, Width, and Height properties.

Этот пример предназначен для использования с Windows Forms, который содержит, и, Label PictureBox Button Label1 PictureBox1 и Button1 соответственно.This example is designed to be used with a Windows Forms that contains a Label, PictureBox, and Button named Label1, PictureBox1, and Button1, respectively. Вставьте код в форму и свяжите Button1_Click метод с Click событием кнопки.Paste the code into the form and associate the Button1_Click method with the button's Click event.

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

Комментарии

Точечный рисунок состоит из точечных данных для графического изображения и его атрибутов.A bitmap consists of the pixel data for a graphics image and its attributes. Существует множество стандартных форматов для сохранения растрового изображения в файл.There are many standard formats for saving a bitmap to a file. GDI+GDI+ поддерживает следующие форматы файлов: BMP, GIF, EXIF, JPG, PNG и TIFF.supports the following file formats: BMP, GIF, EXIF, JPG, PNG and TIFF. Дополнительные сведения о поддерживаемых форматах см. в разделе Типы точечных рисунков.For more information about supported formats, see Types of Bitmaps.

Вы можете создавать изображения из файлов, потоков и других источников с помощью одного из Bitmap конструкторов и сохранять их в поток или в файловой системе с помощью Save метода.You can create images from files, streams, and other sources by using one of the Bitmap constructors and save them to a stream or to the file system with the Save method. Изображения рисуются на экране или в память с помощью DrawImage метода Graphics объекта.Images are drawn to the screen or to memory by using the DrawImage method of the Graphics object. Список разделов, посвященных работе с файлами изображений, см. в разделе Работа с изображениями, точечными рисунками, значками и метафайлами.For a list of topics about working with image files, see Working with Images, Bitmaps, Icons, and Metafiles.

Примечание

BitmapКласс недоступен для разных доменов приложений.The Bitmap class is not accessible across application domains. Например, если создать динамическую AppDomain и создать несколько кистей, перьев и точечных рисунков в этом домене, а затем передать эти объекты обратно в основной домен приложения, вы можете успешно использовать перья и кисти.For example, if you create a dynamic AppDomain and create several brushes, pens, and bitmaps in that domain, then pass these objects back to the main application domain, you can successfully use the pens and brushes. Однако при вызове DrawImage метода для рисования упакованного Bitmap можно получить следующее исключение.However, if you call the DrawImage method to draw the marshaled Bitmap, you receive the following exception.

Удаленное взаимодействие не может найти поле "Native Image" в типе "System. Drawing. Image".Remoting cannot find field "native image" on type "System.Drawing.Image".

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

Bitmap(Image)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения.Initializes a new instance of the Bitmap class from the specified existing image.

Bitmap(Image, Int32, Int32)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Image, Size)

Инициализирует новый экземпляр класса Bitmap из указанного существующего изображения, масштабированного до заданного размера.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32)

Инициализирует новый экземпляр класса Bitmap с заданным размером.Initializes a new instance of the Bitmap class with the specified size.

Bitmap(Int32, Int32, Graphics)

Инициализирует новый экземпляр класса Bitmap с заданным размером и с разрешением указанного объекта Graphics.Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

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

Инициализирует новый экземпляр класса Bitmap с заданным размером, форматом и данными пикселей.Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

Bitmap(Int32, Int32, PixelFormat)

Инициализирует новый экземпляр класса Bitmap с заданными значениями размера и формата.Initializes a new instance of the Bitmap class with the specified size and format.

Bitmap(Stream)

Инициализирует новый экземпляр класса Bitmap из указанного потока данных.Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(Stream, Boolean)

Инициализирует новый экземпляр класса Bitmap из указанного потока данных.Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String)

Инициализирует новый экземпляр класса Bitmap из указанного файла.Initializes a new instance of the Bitmap class from the specified file.

Bitmap(String, Boolean)

Инициализирует новый экземпляр класса Bitmap из указанного файла.Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Type, String)

Инициализирует новый экземпляр класса Bitmap из указанного ресурса.Initializes a new instance of the Bitmap class from a specified resource.

Свойства

Flags

Возвращает флаги атрибутов для пиксельных данных этого объекта Image.Gets attribute flags for the pixel data of this Image.

(Унаследовано от Image)
FrameDimensionsList

Возвращает массив идентификаторов GUID, представляющих размеры кадров в объекте Image.Gets an array of GUIDs that represent the dimensions of frames within this Image.

(Унаследовано от Image)
Height

Возвращает высоту объекта Image в пикселях.Gets the height, in pixels, of this Image.

(Унаследовано от Image)
HorizontalResolution

Возвращает горизонтальное разрешение объекта Image в пикселях на дюйм.Gets the horizontal resolution, in pixels per inch, of this Image.

(Унаследовано от Image)
Palette

Возвращает или задает палитру цветов, используемую для объекта Image.Gets or sets the color palette used for this Image.

(Унаследовано от Image)
PhysicalDimension

Возвращает ширину и высоту данного изображения.Gets the width and height of this image.

(Унаследовано от Image)
PixelFormat

Возвращает формат пикселей для этого объекта Image.Gets the pixel format for this Image.

(Унаследовано от Image)
PropertyIdList

Возвращает идентификаторы элементов свойств, хранящихся в объекте Image.Gets IDs of the property items stored in this Image.

(Унаследовано от Image)
PropertyItems

Возвращает все элементы свойств (части метаданных), хранящихся в объекте Image.Gets all the property items (pieces of metadata) stored in this Image.

(Унаследовано от Image)
RawFormat

Возвращает формат файла этого объекта Image.Gets the file format of this Image.

(Унаследовано от Image)
Size

Возвращает ширину и высоту изображения в пикселях.Gets the width and height, in pixels, of this image.

(Унаследовано от Image)
Tag

Возвращает или задает объект, предоставляющий дополнительные данные об изображении.Gets or sets an object that provides additional data about the image.

(Унаследовано от Image)
VerticalResolution

Возвращает вертикальное разрешение объекта Image в пикселях на дюйм.Gets the vertical resolution, in pixels per inch, of this Image.

(Унаследовано от Image)
Width

Возвращает ширину объекта Image в пикселях.Gets the width, in pixels, of this Image.

(Унаследовано от Image)

Методы

Clone()

Создает точную копию данного объекта Image.Creates an exact copy of this Image.

(Унаследовано от Image)
Clone(Rectangle, PixelFormat)

Создает копию раздела этого объекта Bitmap, определяемого структурой Rectangle и с указанным перечислением PixelFormat.Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.

Clone(RectangleF, PixelFormat)

Создает копию части этого изображения Bitmap, определяемого заданным перечислением PixelFormat.Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые этим объектом Image.Releases all resources used by this Image.

(Унаследовано от Image)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Image, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the Image and optionally releases the managed resources.

(Унаследовано от Image)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
FromHicon(IntPtr)

Создает изображение Bitmap для значка из дескриптора Windows.Creates a Bitmap from a Windows handle to an icon.

FromResource(IntPtr, String)

Создает изображение Bitmap из указанного ресурса Windows.Creates a Bitmap from the specified Windows resource.

GetBounds(GraphicsUnit)

Возвращает границы изображения в указанных единицах измерения.Gets the bounds of the image in the specified unit.

(Унаследовано от Image)
GetEncoderParameterList(Guid)

Возвращает информацию о параметрах, поддерживаемых указанным кодировщиком изображения.Returns information about the parameters supported by the specified image encoder.

(Унаследовано от Image)
GetFrameCount(FrameDimension)

Возвращает количество кадров указанного размера.Returns the number of frames of the specified dimension.

(Унаследовано от Image)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetHbitmap()

Создает объект точечного рисунка GDIGDI из данного изображения Bitmap.Creates a GDIGDI bitmap object from this Bitmap.

GetHbitmap(Color)

Создает объект точечного рисунка GDIGDI из данного изображения Bitmap.Creates a GDIGDI bitmap object from this Bitmap.

GetHicon()

Возвращает дескриптор для значка.Returns the handle to an icon.

GetLifetimeService()

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
GetPixel(Int32, Int32)

Возвращает цвет указанного пикселя в этом изображении Bitmap.Gets the color of the specified pixel in this Bitmap.

GetPropertyItem(Int32)

Возвращает указанный элемент свойства из объекта Image.Gets the specified property item from this Image.

(Унаследовано от Image)
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr)

Возвращает эскиз для этого объекта Image.Returns a thumbnail for this Image.

(Унаследовано от Image)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
LockBits(Rectangle, ImageLockMode, PixelFormat)

Блокирует объект Bitmap в системной памяти.Locks a Bitmap into system memory.

LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData)

Блокирует объект Bitmap в системной памяти.Locks a Bitmap into system memory.

MakeTransparent()

Делает прозрачным прозрачный цвет по умолчанию для этого элемента Bitmap.Makes the default transparent color transparent for this Bitmap.

MakeTransparent(Color)

Делает заданный цвет прозрачным для данного изображения Bitmap.Makes the specified color transparent for this Bitmap.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Унаследовано от MarshalByRefObject)
RemovePropertyItem(Int32)

Удаляет указанный элемент свойства из этого Image.Removes the specified property item from this Image.

(Унаследовано от Image)
RotateFlip(RotateFlipType)

Поворачивает, зеркально отражает, либо поворачивает и зеркально отражает объект Image.Rotates, flips, or rotates and flips the Image.

(Унаследовано от Image)
Save(Stream, ImageCodecInfo, EncoderParameters)

Сохраняет данное изображение в указанный поток с заданным кодировщиком и определенными параметрами кодировщика изображения.Saves this image to the specified stream, with the specified encoder and image encoder parameters.

(Унаследовано от Image)
Save(Stream, ImageFormat)

Сохраняет данное изображение в указанный поток в указанном формате.Saves this image to the specified stream in the specified format.

(Унаследовано от Image)
Save(String)

Сохраняет объект Image в указанный файл или поток.Saves this Image to the specified file or stream.

(Унаследовано от Image)
Save(String, ImageCodecInfo, EncoderParameters)

Сохраняет объект Image в указанный файл с заданным кодировщиком и определенными параметрами кодировщика изображения.Saves this Image to the specified file, with the specified encoder and image-encoder parameters.

(Унаследовано от Image)
Save(String, ImageFormat)

Сохраняет объект Image в указанный файл в указанном формате.Saves this Image to the specified file in the specified format.

(Унаследовано от Image)
SaveAdd(EncoderParameters)

Добавляет кадр в файл или поток, указанный в предыдущем вызове метода Save.Adds a frame to the file or stream specified in a previous call to the Save method. Используйте данный метод для сохранения выбранных кадров из многокадрового изображения в другое многокадровое изображение.Use this method to save selected frames from a multiple-frame image to another multiple-frame image.

(Унаследовано от Image)
SaveAdd(Image, EncoderParameters)

Добавляет кадр в файл или поток, указанный в предыдущем вызове метода Save.Adds a frame to the file or stream specified in a previous call to the Save method.

(Унаследовано от Image)
SelectActiveFrame(FrameDimension, Int32)

Выделяет кадр, определяемый размером и индексом.Selects the frame specified by the dimension and index.

(Унаследовано от Image)
SetPixel(Int32, Int32, Color)

Задает цвет указанного пикселя в этом объекте Bitmap.Sets the color of the specified pixel in this Bitmap.

SetPropertyItem(PropertyItem)

Сохраняет элемент свойства (часть метаданных) в Image.Stores a property item (piece of metadata) in this Image.

(Унаследовано от Image)
SetResolution(Single, Single)

Задает разрешение для этого изображения Bitmap.Sets the resolution for this Bitmap.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
UnlockBits(BitmapData)

Разблокирует это изображение Bitmap из оперативной памяти.Unlocks this Bitmap from system memory.

Явные реализации интерфейса

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Заполняет объект SerializationInfo данными, необходимыми для сериализации целевого объекта.Populates a SerializationInfo with the data needed to serialize the target object.

(Унаследовано от Image)

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

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