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


Bitmap Класс

Определение

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

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

Примеры

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

Этот пример предназначен для использования с Windows Forms, содержащим , PictureBoxи с именами LabelLabel1, PictureBox1и Button1Button соответственно. Вставьте код в форму и свяжите 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

Комментарии

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

Вы можете создавать изображения из файлов, потоков и других источников с помощью одного из Bitmap конструкторов и сохранять их в потоке или в файловой системе Save с помощью метода . Изображения рисуются на экране или в память с помощью DrawImage метода Graphics объекта . Список разделов, посвященных работе с файлами изображений, см. в статье Работа с изображениями, растровыми изображениями, значками и метафайлами.

Примечание

В .NET 6 и более поздних версиях пакет System.Drawing.Common, включающий этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см . в статье System.Drawing.Common, поддерживаемая только в Windows.

Примечание

Класс Bitmap недоступен в доменах приложений. Например, если создать динамический AppDomain и создать несколько кистей, перьев и растровых рисунков в этом домене, а затем передать эти объекты обратно в домен приложения main, можно успешно использовать ручки и кисти. Однако при вызове DrawImage метода для рисования маршалированного Bitmapвы получите следующее исключение:

Удаленному взаимодействию не удается найти поле "native image" для типа System.Drawing.Image.

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

Bitmap(Image)

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

Bitmap(Image, Int32, Int32)

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

Bitmap(Image, Size)

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

Bitmap(Int32, Int32)

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

Bitmap(Int32, Int32, Graphics)

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

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

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

Bitmap(Int32, Int32, PixelFormat)

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

Bitmap(Stream)

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

Bitmap(Stream, Boolean)

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

Bitmap(String)

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

Bitmap(String, Boolean)

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

Bitmap(Type, String)

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

Свойства

Flags

Возвращает флаги атрибутов для пиксельных данных этого объекта Image.

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

Возвращает массив идентификаторов GUID, представляющих размеры кадров в объекте Image.

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

Возвращает высоту объекта Image в пикселях.

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

Возвращает горизонтальное разрешение объекта Image в пикселях на дюйм.

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

Возвращает или задает палитру цветов, используемую для объекта Image.

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

Возвращает ширину и высоту данного изображения.

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

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

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

Возвращает идентификаторы элементов свойств, хранящихся в объекте Image.

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

Возвращает все элементы свойств (части метаданных), хранящихся в объекте Image.

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

Возвращает формат файла этого объекта Image.

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

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

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

Возвращает или задает объект, предоставляющий дополнительные данные об изображении.

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

Возвращает вертикальное разрешение объекта Image в пикселях на дюйм.

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

Возвращает ширину объекта Image в пикселях.

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

Методы

ApplyEffect(Effect, Rectangle)

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

Clone()

Создает точную копию данного объекта Image.

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

Создает копию раздела этого объекта Bitmap, определяемого структурой Rectangle и с указанным перечислением PixelFormat.

Clone(RectangleF, PixelFormat)

Создает копию части этого изображения Bitmap, определяемого заданным перечислением PixelFormat.

ConvertFormat(PixelFormat)

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

ConvertFormat(PixelFormat, DitherType, PaletteType, ColorPalette, Single)

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

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

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

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

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

Освобождает неуправляемые ресурсы, используемые объектом Image, а при необходимости освобождает также управляемые ресурсы.

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

Определяет, равен ли указанный объект текущему объекту.

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

Создает изображение Bitmap для значка из дескриптора Windows.

FromResource(IntPtr, String)

Создает изображение Bitmap из указанного ресурса Windows.

GetBounds(GraphicsUnit)

Возвращает границы изображения в указанных единицах измерения.

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

Возвращает информацию о параметрах, поддерживаемых указанным кодировщиком изображения.

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

Возвращает количество кадров указанного размера.

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

Служит хэш-функцией по умолчанию.

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

Создает объект точечного рисунка GDI из этого Bitmapобъекта .

GetHbitmap(Color)

Создает объект точечного рисунка GDI из этого Bitmapобъекта .

GetHicon()

Возвращает дескриптор для значка.

GetLifetimeService()
Устаревшие..

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

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

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

GetPropertyItem(Int32)

Возвращает указанный элемент свойства из объекта Image.

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

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

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

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

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

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

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

LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData)

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

MakeTransparent()

Делает прозрачным прозрачный цвет по умолчанию для этого элемента Bitmap.

MakeTransparent(Color)

Делает заданный цвет прозрачным для данного изображения Bitmap.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

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

Создает неполную копию текущего объекта MarshalByRefObject.

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

Удаляет указанный элемент свойства из этого Image.

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

Поворачивает, зеркально отражает, либо поворачивает и зеркально отражает объект Image.

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

Сохраняет данное изображение в указанный поток с заданным кодировщиком и определенными параметрами кодировщика изображения.

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

Сохраняет данное изображение в указанный поток в указанном формате.

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

Сохраняет объект Image в указанный файл или поток.

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

Сохраняет объект Image в указанный файл с заданным кодировщиком и определенными параметрами кодировщика изображения.

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

Сохраняет объект Image в указанный файл в указанном формате.

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

Добавляет кадр в файл или поток, указанный в предыдущем вызове метода Save. Используйте данный метод для сохранения выбранных кадров из многокадрового изображения в другое многокадровое изображение.

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

Добавляет кадр в файл или поток, указанный в предыдущем вызове метода Save.

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

Выделяет кадр, определяемый размером и индексом.

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

Задает цвет указанного пикселя в этом объекте Bitmap.

SetPropertyItem(PropertyItem)

Сохраняет элемент свойства (часть метаданных) в Image.

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

Задает разрешение для этого изображения Bitmap.

ToString()

Возвращает строку, представляющую текущий объект.

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

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

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

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Заполняет объект SerializationInfo данными, необходимыми для сериализации целевого объекта.

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

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

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