将位图的一部分清除为透明

时间:2013-07-08 16:49:03

标签: vb.net picturebox bitmapimage

我用多重图片框创建程序,图片框的图像从内存中的位图动态更新,我想将位图上的选定部分清除为透明色,这样我就可以看到背后的图片框图像了。

这是我的代码

Dim gBmp As Graphics = Graphics.FromImage(GraphLayer(LayerArray))
Dim TileSrcCrop As New Rectangle(nVal(xTile), nVal(yTile), TileSize, TileSize)
Dim TileDrawSize As New Rectangle(nVal(H), nVal(V), TileSize, TileSize)

gBmp.DrawImage(GraphImage(LayerArray), TileDrawSize, TileSrcCrop, GraphicsUnit.Pixel)
PicMap(LayerArray).Image = GraphLayer(LayerArray)

由于

1 个答案:

答案 0 :(得分:0)

我要说的可能仅适用于Windows图标,但IIRC必须为左上角像素指定要指定为透明色的颜色。您通常会看到MS使用Magenta(255,0,255)。这称为透明蒙版。然后,在您希望颜色透明的任何地方,您可以使用放置在左上角像素中的颜色。

HTH - 让我知道它是否仅适用于图标,但我认为它也适用于Windows位图文件。