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) |
Изменяет растровое изображение путем применения заданного. |
| Clone() |
Создает точную копию этого Imageобъекта. (Унаследовано от Image) |
| Clone(Rectangle, PixelFormat) |
Создает копию раздела, Bitmap определенного Rectangle структурой и указанным PixelFormat перечислением. |
| Clone(RectangleF, PixelFormat) |
Создает копию раздела, Bitmap определенного с указанным PixelFormat перечислением. |
| ConvertFormat(PixelFormat, DitherType, PaletteType, ColorPalette, Single) |
Преобразует растровое изображение в указанный |
| ConvertFormat(PixelFormat) |
Преобразует растровое изображение в указанный |
| 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) |