我正在尝试检查位图对象,以查看它是否设置为空。似乎.NET没有该功能。我看过MSDN库站点和stackoverflow,关于.NET的内容很少提及。 .NET中还有其他方法吗?
[当TBitmaap不包含任何图像时,其Empty属性设置为True
任何帮助将不胜感激。
位图的唯一选择是它被实例化或为空,并且通过阅读注释和答案,这使您试图做的事情变得混乱。
您真的只需要检查位图是否为空,我认为相当于您说的语言为空:
private Bitmap _bmp;
private void button1_Click(object sender, EventArgs e) {
if (_bmp == null)
_bmp = new Bitmap(@"c:\example.bmp");
}
您可以像这样扩展它:
public static class MyExensions {
public static bool IsEmpty(this Bitmap bitmap) {
return (bitmap == null);
}
}
这会使您的代码变成这个:
private void button1_Click(object sender, EventArgs e) {
if (_bmp.IsEmpty())
_bmp = new Bitmap(@"c:\example.bmp");
}
如果我错了,请纠正我。
来自Delphi win32,我知道您可以创建一个位图对象并稍后按如下所示设置其图像属性。
Bitmap:TBitmap;
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\example.bmp');
在那种情况下,您不能只检查Bitmap对象是否为null或nil。您需要实际检查image属性是否设置为空。
就.NET而言,当创建位图的对象时,必须将图像作为参数传递给其构造函数。这意味着构造函数实例化并设置其图像。您可以像Henk Holterman指出的那样检查是否设置了图像分辨率或宽度和高度。
image1 = new Bitmap(@"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", true);