Bitmap Класс

Определение

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

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

Примеры

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

Этот пример предназначен для использования с Windows Forms, который содержит LabelPictureBox, и именованный Button, Label1и PictureBox1Button1соответственно. Вставьте код в форму и свяжите 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 объекта. Список разделов о работе с файлами изображений см. в разделе "Работа с изображениями", "Растровые изображения", "Значки" и "Метафайлы".

Note

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

Note

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

Удаленное взаимодействие не может найти поле "машинное изображение" в типе System.Drawing.Image.

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

Имя Описание
Bitmap(Image, Int32, Int32)

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

Bitmap(Image, Size)

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

Bitmap(Image)

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

Bitmap(Int32, Int32, Graphics)

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

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

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

Bitmap(Int32, Int32, PixelFormat)

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

Bitmap(Int32, Int32)

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

Bitmap(Stream, Boolean)

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

Bitmap(Stream)

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

Bitmap(String, Boolean)

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

Bitmap(String)

Инициализирует новый экземпляр класса из указанного 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)

Изменяет растровое изображение путем применения заданного.effect

Clone()

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

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

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

Clone(RectangleF, PixelFormat)

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

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

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

ConvertFormat(PixelFormat)

Преобразует растровое изображение в указанный format. Исходные данные пикселей заменяются новым форматом.

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()

Создает из этого Bitmapобъект растрового изображения GDI.

GetHbitmap(Color)

Создает из этого Bitmapобъект растрового изображения GDI.

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, BitmapData)

Блокирует Bitmap память системы.

LockBits(Rectangle, ImageLockMode, PixelFormat)

Блокирует 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, ImageCodecInfo, EncoderParameters)

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

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

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

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

Сохраняет его 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)

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

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