gpt4 book ai didi

c# - 我负责处理 BackgroundImage 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:00 25 4
gpt4 key购买 nike

我有一个窗口窗体,我在其中将 BackgroundImage 属性设置为自定义位图图像。

private Image MakeCustomBackground(){    Bitmap result = new Bitmap(100, 100);    using(Graphics canvas = Graphics.FromImage(result))    {        // draw the custom image    }    return result;}private void UpdateFromBackground(){    this.BackgroundImage = MakeCustomBackground();}

我的问题是,Image 是一次性的,我正在创建它,这是否意味着我必须处理它?或者,当我通过 BackgroundImage 将图像传递给表单时,它是否会取得所有权并在不再需要时处理它?<​​/p>

最佳答案

假设多次调用 UpdateFromBackground(),您可能应该在(之前)设置新图像时处置图像。如果您不这样做,那么 GC 最终会执行此操作,但效率较低。表单只会处理您分配的最后一个 BgImage。

private void UpdateFromBackground()
{
if (this.BackgroundImage != null)
{
this.BackgroundImage.Dispose();
}
this.BackgroundImage = MakeCustomBackground();
}

关于c# - 我负责处理 BackgroundImage 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1591455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com