我有一个 8bpp 索引位图,带有自定义 256 色调色板,其中调色板中的特定颜色 (Color.Pink
和Color.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
)也执行此操作?