小编Kaz*_*gaa的帖子

绘制 8bpp 位图时如何使调色板中的颜色透明

我有一个 8bpp 索引位图,带有自定义 256 色调色板,其中调色板中的特定颜色 (Color.PinkColor.Green) 表示透明度。
我可以MakeTransparent(color)在位图上使用该方法(每种颜色两次),但它会将其转换为 32bpp。所以我使用的是:

using var imageAttr = new ImageAttributes();
imageAttr.SetColorKey(pink, pink, ColorAdjustType.Default);
Run Code Online (Sandbox Code Playgroud)

进而

g.DrawImage(bitmap, destRect, X, Y, Width, Height, GraphicsUnit.Pixel, imageAttr);
Run Code Online (Sandbox Code Playgroud)

它按应有的方式绘制位图,但仅对Color.Pink透明颜色进行更改。我怎样才能对第二种颜色(Color.Green)也执行此操作?

c# transparency gdi+ bitmap winforms

4
推荐指数
1
解决办法
816
查看次数

标签 统计

bitmap ×1

c# ×1

gdi+ ×1

transparency ×1

winforms ×1