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
и Button1
Button соответственно. Вставьте код в форму и свяжите 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) |