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