您可以编写一个方法来创建一个新的位图,其中两个图像相互叠加。像这样:
Bitmap DrawCardWithOutline(Image card, Image outline)
{
/// Put null checks here.
Bitmap result = new Bitmap(outline.Width, outline.Height);
using (Graphics graphics = Graphics.FromImage(result))
{
Rectangle cardRect = new Rectangle(0, 0, result.Width, result.Height);
graphics.DrawImage(card, cardRect);
Rectangle outlineRect = new Rectangle(0, 0, result.Width, result.Height);
graphics.DrawImage(outline, outlineRect);
}
return result;
}
调整cardRect
( Rectangle
) 以匹配您想要展示卡片的位置。在我的示例中,卡片从左上角 (0,0) 一直绘制到右下角(宽度、高度)。
像这样使用它:
var card = Image.FromFile(@"C:\card.png");
var outline = Image.FromFile(@"C:\outline.png");
var result = DrawCardWithOutline(card, outline);
pictureBox1.Image = result;
DrawCardWithOutline
如果您需要很快再次使用它,请存储结果,因为创建新位图并不是一项便宜的操作。例如,您可以在card
和result
图像之间切换以模拟闪烁。