用C#绘制图像

本文关键字:图像 绘制 | 更新日期: 2023-09-27 18:26:03

Baiscally,我正在尝试绘制一个图像,上面有一个大数字(我的迭代变量的当前值):

var imageList = new List<Image>();
for (int i = 1; i <= totalCount; i++)    
{
    using (Bitmap bmp = new Bitmap(800,2000))
    using (Graphics g = Graphics.FromImage(bmp))
    {
        g.DrawString(i.ToString(), 
                     new Font("Arial", 40), 
                     Brushes.Black, 
                     new PointF(400,1000));   
    }
    imageList.Add(bmp);
}

但我在读取此图像列表时遇到一个错误:参数无效我做错了什么?

用C#绘制图像

位图在放入列表之前将被using作用域销毁。卸下using

using将在您的图像上调用Dispose,这将使对象无效。所以,当你把它放在List中时,你就把它放进了一个死物体中。

List<Image> imageList = new List<Image>();
for (int i = 1; i <= totalCount; i++)    
{
        Bitmap bmp = new Bitmap(800,2000))
        using (Graphics g = Graphics.FromImage(bmp))
        {
            g.DrawString(i.ToString(), new Font("Arial", 40), Brushes.Black, new PointF(400,1000));   
        }
        imageList.Add(bmp);
}