如何使.NET以PARGB32格式保存TIFF?

时间:2016-09-10 19:55:24

标签: c# .net tiff premultiplied-alpha

我已经用PARGB32格式创建了一个位图。我发现PNG不能存储预乘alpha(至少标记为这样),但我相信TIFF可以。如何强制.NET以PARGB32格式保存TIFF?默认情况下,即使保存的位图采用PARGB32格式,它似乎也会加载回AGRB32。

1 个答案:

答案 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的变量保持图像。