使用英语阅读

通过


Bitmap.MakeTransparent 方法

定义

使此 Bitmap的默认透明颜色透明。

重载

MakeTransparent()

使此 Bitmap的默认透明颜色透明。

MakeTransparent(Color)

使此 Bitmap的指定颜色透明。

MakeTransparent()

Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs

使此 Bitmap的默认透明颜色透明。

public void MakeTransparent ();

例外

Bitmap 的图像格式是图标格式。

操作失败。

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码使系统默认透明色 myBitmap,然后将 Bitmap 绘制到屏幕。

private void MakeTransparent_Example1(PaintEventArgs e)
{

    // Create a Bitmap object from an image file.
    Bitmap myBitmap = new Bitmap("Grapes.gif");

    // Draw myBitmap to the screen.
    e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width,
        myBitmap.Height);

    // Make the default transparent color transparent for myBitmap.
    myBitmap.MakeTransparent();

    // Draw the transparent bitmap to the screen.
    e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0,
        myBitmap.Width, myBitmap.Height);
}

注解

系统调色板将一种颜色定义为默认透明或 alpha 颜色。 此方法使此 Bitmap的默认透明颜色透明。 如果未由系统指定透明颜色,则 LightGray 为透明颜色。

调用 MakeTransparent时,位图将转换为 Format32bppArgb 格式,因为此格式支持 alpha 通道。

适用于

.NET 9 (package-provided) 和其他版本
产品 版本
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

MakeTransparent(Color)

Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs
Source:
Bitmap.cs

使此 Bitmap的指定颜色透明。

public void MakeTransparent (System.Drawing.Color transparentColor);

参数

transparentColor
Color

表示透明颜色的 Color 结构。

例外

Bitmap 的图像格式是图标格式。

操作失败。

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码执行以下操作:

  • 获取 Bitmap中像素的颜色。

  • 使位图的颜色透明。

  • Bitmap 绘制到屏幕。

private void MakeTransparent_Example2(PaintEventArgs e)
{

    // Create a Bitmap object from an image file.
    Bitmap myBitmap = new Bitmap("Grapes.gif");

    // Draw myBitmap to the screen.
    e.Graphics.DrawImage(
        myBitmap, 0, 0, myBitmap.Width, myBitmap.Height);

    // Get the color of a background pixel.
    Color backColor = myBitmap.GetPixel(1, 1);

    // Make backColor transparent for myBitmap.
    myBitmap.MakeTransparent(backColor);

    // Draw the transparent bitmap to the screen.
    e.Graphics.DrawImage(
        myBitmap, myBitmap.Width, 0, myBitmap.Width, myBitmap.Height);
}

注解

调用 MakeTransparent时,位图将转换为 Format32bppArgb 格式,因为此格式支持 alpha 通道。

适用于

.NET 9 (package-provided) 和其他版本
产品 版本
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9