Bitmap 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
封裝 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
- 繼承
- 屬性
範例
下列程式代碼範例示範如何使用 和 SetPixel 方法來從檔案建構新的 Bitmap ,GetPixel以重新著色影像。 它也使用 PixelFormat、 Width和 Height 屬性。
此範例的設計目的是要分別搭配包含 、 PictureBox和 PictureBox1
ButtonLabel1
、 和 的 Button1
Windows Forms Label使用。 將程式代碼貼到表單中,並將方法與按鈕的事件Click產生關聯Button1_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 和更新版本中,只有 Windows 作業系統才支援包含此類型的 System.Drawing.Common 套件。 在跨平臺應用程式中使用此類型會導致編譯時間警告和運行時間例外狀況。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common。
注意
類別 Bitmap 無法跨應用程式域存取。 例如,如果您建立動態 AppDomain ,並在該網域中建立數個筆刷、畫筆和位圖,然後將這些對象傳回主要應用程式域,您可以成功使用畫筆和筆刷。 不過,如果您呼叫 DrawImage 方法來繪製封送處理 Bitmap的方法,您會收到下列例外狀況:
遠端處理在類型 「System.Drawing.Image」 上找不到字段「原生影像」。
建構函式
Bitmap(Image) |
從指定的現有影像初始化 Bitmap 類別的新執行個體。 |
Bitmap(Image, Int32, Int32) |
從指定的現有影像 (已縮放至指定之大小),初始化 Bitmap 類別的新執行個體。 |
Bitmap(Image, Size) |
從指定的現有影像 (已縮放至指定之大小),初始化 Bitmap 類別的新執行個體。 |
Bitmap(Int32, Int32) |
使用指定的大小,初始化 Bitmap 類別的新執行個體。 |
Bitmap(Int32, Int32, 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 中的框架 (Frame) 維度 (Dimension)。 (繼承來源 Image) |
Height |
取得這個 Image 的高度 (單位為像素)。 (繼承來源 Image) |
HorizontalResolution |
取得這個 Image 的水平解析度 (單位為每英吋的像素)。 (繼承來源 Image) |
Palette |
取得或設定用於這個 Image 的調色盤。 (繼承來源 Image) |
PhysicalDimension |
取得這個影像的寬度和高度。 (繼承來源 Image) |
PixelFormat |
取得這個 Image 的像素格式。 (繼承來源 Image) |
PropertyIdList |
取得儲存在這個 Image 中的屬性項目 ID。 (繼承來源 Image) |
PropertyItems |
取得儲存在這個 Image 中的所有屬性項目 (中繼資料的各個項目)。 (繼承來源 Image) |
RawFormat |
取得這個 Image 的檔案格式。 (繼承來源 Image) |
Size |
取得影像的寬度和高度,單位為像素。 (繼承來源 Image) |
Tag |
取得或設定物件,該物件提供影像的其他相關資料。 (繼承來源 Image) |
VerticalResolution |
取得這個 Image 的垂直解析度 (單位為每英吋的像素)。 (繼承來源 Image) |
Width |
取得這個 Image 的寬度 (單位為像素)。 (繼承來源 Image) |
方法
明確介面實作
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
將序列化目標物件所需的資料填入 SerializationInfo。 (繼承來源 Image) |