C# 图形和位图

本文关键字:位图 图形 | 更新日期: 2023-09-27 17:56:16

我正在尝试将图像添加到 C# 项目,它始终设置为 NULL,并且收到此警告"Snake_Game.Form3.GFX"从未分配给,并且始终具有其默认值 null。这是我尝试做的。

private Graphics GFX;
public Form3()
        {
            InitializeComponent();
            this.CreateGraphics();
        }

在其他函数中,我添加了以下内容:

GFX.DrawImage(Bitmap.FromFile(@"C:'C#'Buton.png"), new Point(0, 0));

我该怎么办?

C# 图形和位图

您需要在使用

前初始化图形对象

    public Form3()
    {
        InitializeComponent();
        GFX = this.CreateGraphics();
    }

然后,当您尝试将其用于 DrawImage 时,它不是空的,您可以调用它的方法。但是,我要说,这是错误的方式。在窗体的生存期内保留图形对象,消耗宝贵的系统资源。
最好在使用之前创建对象并在使用后立即销毁它

因此,在全局级别删除表单构造函数和声明中的初始化

    public Form3()
    {
        InitializeComponent();
    }

并且,当您需要对象调用时

    using(Graphics GFX = this.CreateGraphics())
    {
         GFX.DrawImage(Bitmap.FromFile(@"C:'C#'Buton.png"), new Point(0, 0));
         .... // Other graphic code here
    } // This close brace destroy the GFX object releasing its resources.

一些有用的链接

创建图形
using 语句