【发布时间】:2020-06-25 04:43:48
【问题描述】:
我正在使用一种旧的游戏格式,他们使用索引位图。对于某些具有透明度的材质,它们使用调色板中的第一个索引作为设置为不可见的值。在代码中,我克隆位图,将此调色板值设置为完全透明,然后将其导出为 PNG。它在 Windows 上完美运行。但在 Mac 上却没有。
这是我的工作:
Bitmap cloneBitmap;
cloneBitmap = image.Clone(new Rectangle(0, 0, image.Width, image.Height), PixelFormat.Format8bppIndexed);
var palette = cloneBitmap.Palette;
palette.Entries[0] = Color.FromArgb(0, 0, 0, 0);
cloneBitmap.Palette = palette;
cloneBitmap.Save(filePath + fileName, ImageFormat.Png);
这在 PC 上运行良好。图像以透明度输出。在 Mac 上,它没有透明度,具有此索引的像素只是黑色。
【问题讨论】:
-
你试过用 0,255,255,255 代替吗:docs.microsoft.com/en-us/dotnet/api/…
-
@SimonMourier 这使得应该是透明的白色而不是黑色的像素。它对保存透明度没有影响。
-
是 .NET Core 吗?还是单声道?还是什么?