无法使用C#读取位图文件
本文关键字:读取 位图 文件 | 更新日期: 2023-09-27 18:27:38
我正在尝试读取一个位图文件,其中包含以下代码:
public void open(object o, EventArgs e)
{
fileOpenen.Filter = "Pictures (.BMP/.JPG/.GIF/.PNG)|*.bmp;*.jpg;*.gif;*.png";
if (fileOpenen.ShowDialog() == DialogResult.OK)
{
Bitmap open = new Bitmap(fileOpenen.FileName);
schets.bitmap = open;
this.nieuw(o, e);
}
它应该将位图加载到"schets"中,它由以下代码组成:
class Schets
{
public Bitmap bitmap; // private naar public
public Schets()
{
bitmap = new Bitmap(1, 1);
}
public Graphics BitmapGraphics
{
get { return Graphics.FromImage(bitmap); }
}
public void VeranderAfmeting(Size sz)
{
if (sz.Width > bitmap.Size.Width || sz.Height > bitmap.Size.Height)
{
Bitmap nieuw = new Bitmap( Math.Max(sz.Width, bitmap.Size.Width)
, Math.Max(sz.Height, bitmap.Size.Height)
);
Graphics gr = Graphics.FromImage(nieuw);
gr.FillRectangle(Brushes.White, 0, 0, sz.Width, sz.Height);
gr.DrawImage(bitmap, 0, 0);
bitmap = nieuw;
}
}
public void Teken(Graphics gr)
{
gr.DrawImage(bitmap, 0, 0);
}
}
我可以从硬盘驱动器中选择一个.bmp文件,但当我尝试加载它时,会出现以下错误:An unhandled exception of type 'System.NullReferenceException' occurred in Schets.exe
从strack跟踪中,您可以准确地看到"System.NullReferenceException"出现的位置。然后它指向您尝试访问尚未初始化对象的行。只需初始化对象,它就会工作。