我正在使用Mono 4.6.1,使用System.Drawing我想覆盖这两个图像(imgur album)。但是,完成的结果看起来像this,第一个图像具有略微白色的色调。在渲染之前设置背景颜色会显示cardBack图像的透明部分未正确混合。
const int width = 764;
const float s = width / 764;
var cardBack = new Bitmap(@"assets/mHunter.png");
var cardArt = new Bitmap(@"CardArt/Full/AT_007.png");
using (var bmp = new Bitmap(cardBack.Width, cardBack.Height, PixelFormat.Format32bppArgb))
using (var gr = Graphics.FromImage(bmp)) {
//Draw card art clipped by type
var clippingRegion = CreateEllipseRegion(s);
//gr.SetClip(clippingRegion);
//ctx.drawImage(t, 0, 0, t.width, t.height, 100 * s, 75 * s, 590 * s, 590 * s);
gr.DrawImage(cardArt, 100 * s, 75 * s, 590 * s, 590 * s);
//gr.ResetClip();
gr.DrawImage(cardBack,0, 0);
bmp.Save("/tmp/result.png", ImageFormat.Png);
}
答案 0 :(得分:0)
事实证明,cardBack图像使用索引颜色模式,在使用GIMP将其更改为RGB后,它现在可以正确混合。