我已经用PARGB32格式创建了一个位图。我发现PNG不能存储预乘alpha(至少标记为这样),但我相信TIFF可以。如何强制.NET以PARGB32格式保存TIFF?默认情况下,即使保存的位图采用PARGB32格式,它似乎也会加载回AGRB32。
答案 0 :(得分:0)
根据MSDN documentation,您可以使用PixelFormat
枚举。
一个快速而肮脏的例子可能是:
var converted = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppPArgb);
using (var g = Graphics.FromImage(converted))
{
g.DrawImage(bmp, 0, 0);
}
IntPtr menuBmp = bmp.GetHbitmap();
假设一个名为bmp的变量保持图像。