使用循环中的图形编辑图像

时间:2018-05-10 13:39:52

标签: c# image graphics bitmap

我尝试修改计时器中的图像,但图像不会改变。这就是我初始化图像的方式:

img = Image.FromFile(@"Resources\map.png");

这是在我的计时器内:

using (Graphics g = Graphics.FromImage(img))
{
    g.TranslateTransform(-15, -15);
    foreach(Location l in locations)
    {
        g.DrawImage(color[l.getColor()], l.getPoint());
    }
}
BackgroundImage = img;

如果我在循环中加载文件中的图像,它可以正常工作,但我真的很想避免它。有谁知道如何解决这个问题?我尝试将Bitmap对象用于我的背景并在我的计时器上绘制地图,但它也不起作用。

编辑:

我现在这样解决了,但它仍然感觉不对,那么还有更好的方法吗?我甚至不明白为什么需要这样做:

using (Graphics g = Graphics.FromImage(bg = new Bitmap(img)))
{
    g.TranslateTransform(-15, -15);
    foreach(Location l in locations)
    {
        g.DrawImage(color[l.getColor()], l.getPoint());
    }
}
BackgroundImage = bg;

0 个答案:

没有答案