В Моно есть давний баг, что части изображения прозрачные под Windows в линуксовом Моно становятся чёрными. Вроде бы, причина была в ограничениях архитектуры GTK2, но с GTK3 всё хорошо, и баг вот-вот исправят. Уже несколько лет. https://github.com/mono/xwt/issues/456
Существует ли воркэраунд? (Помимо самостоятельно исправлять Моно или запускать под Вайном.)
Для определённости — вот в этом пакете: https://github.com/kevL/OpenXCOM.Tools/ Прозрачные спрайты генерируются здесь: https://github.com/kevL/OpenXCOM.Tools/tree/master/PckView , а отрисовываются где-то здесь: https://github.com/kevL/OpenXCOM.Tools/tree/master/MapView/Forms/MainWindow/M... или здесь: https://github.com/kevL/OpenXCOM.Tools/blob/master/XCom/Palette.cs#L259
Дополнение: отрисовка здесь: https://github.com/kevL/OpenXCOM.Tools/blob/master/MapView/Forms/MainWindow/M...
private void DrawSprite(Image sprite, Rectangle rect)
{
if (_spriteShadeEnabled)
_graphics.DrawImage( sprite, rect, 0, 0,
XCImage.SpriteWidth, XCImage.SpriteHeight,
GraphicsUnit.Pixel, _spriteAttributes);
else
_graphics.DrawImage(sprite, rect);
}
Дополнение 2: Переделал: https://github.com/tkzv/OpenXCOM.Tools/commit/28fb294da7e723e0f860d1dd3f56b19... Но скорость крайне низкая. Нужно искать новый GTK#.