位图合并消耗较大内存,如何优化?
下面是我合并数张bitmap图像的源代码,在运行时有时候会弹出“内存不足”的异常提示,通过调试定位在该函数中。请问如何优化代码能降低内存消耗呢?
/// <summary>C#? 位图 内存
/// 位图叠加
/// </summary>
/// <param name="bitmapDown">底层位图</param>
/// <param name="bitmapUp">要叠加的位图</param>
/// <returns>合成的新位图</returns>
public Bitmap AddBitmap(Bitmap bitmapDown, Bitmap[] bitmapUp)
{
Graphics g = Graphics.FromImage(bitmapDown);
for (int i = 0; i < bitmapUp.Length; i++)
{
bitmapUp[i].MakeTransparent();
g.DrawImage(
bitmapUp[i],
new Rectangle(0, 0, bitmapDown.Size.Width, bitmapDown.Size.Height),
0,
0,
bitmapUp[i].Size.Width,//bitmapDown
bitmapUp[i].Size.Height,//bitmapDown
GraphicsUnit.Pixel,
null);
}
return bitmapDown;
}