2011-11-14 2 views
1

비트 맵 객체를 확인하여 설정 또는 비 었는지 확인하려고합니다. .NET에는 그 기능이없는 것 같습니다. 나는 MSDN 라이브러리 사이트와 stackoverflow를 살펴 봤으며 .NET과 관련하여이 점에 대해서는 언급하지 않았다. .NET에서 그렇게 할 수있는 다른 방법이 있습니까? TBitmaap 어떤 이미지를 포함하지 않는 경우.NET에서 Bitmap이 비어 있는지 확인하는 방법이 있습니까?

는 그 빈 속성이 어떤 도움을 이해할 수있을 것이다 진정한

로 설정됩니다.

+1

? null 참조? – Oded

+2

이 경우 빈을 정의 할 수 있습니까? 완전히 투명한 이미지가 비어있는 것으로 간주됩니까? 또는 객체가 null인지 여부를 알고 싶습니까? –

+0

@ oded 및 ekonoik 비트 맵 객체가 이미지로 설정되어 있는지의 여부입니다. – ThN

답변

1

비트 맵에 대한 귀하의 유일한 옵션은 인스턴스화 또는 널 (null), 그리고 의견과 답변을 읽는 것을, 당신이 뭘 하려는지 혼란. 당신은 그것의 연장을 할 수

private Bitmap _bmp; 

private void button1_Click(object sender, EventArgs e) { 
    if (_bmp == null) 
    _bmp = new Bitmap(@"c:\example.bmp"); 
} 

: 비트 맵, 내가 생각하기에, 당신이 말하는 언어에 해당하는 null의 경우, 또는하지 않을 경우 당신은 정말 그냥 확인해야

은 비어 이 같은 :

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"); 
} 
0

내가 잘못하면 나를 수정하십시오.

Delphi win32에서 제공되는 것으로, 나중에 비트 맵의 ​​개체를 만들고 이미지 속성을 다음과 같이 설정할 수 있음을 알고 있습니다. 이 경우

Bitmap:TBitmap; 
Bitmap := TBitmap.Create; 
Bitmap.LoadFromFile('c:\example.bmp'); 

, 당신은 단지 비트 맵 객체가 null 또는 전무 있는지 확인할 수 없습니다. 이미지 속성이 설정되었거나 비어 있는지 실제로 확인해야합니다.

.NET의 경우, 비트 맵의 ​​개체를 만들 때 이미지를 생성자의 매개 변수로 전달해야합니다. 이는 생성자가 이미지를 인스턴스화하고 설정한다는 것을 의미합니다. Henk Holterman이 지적한 것처럼 이미지 해상도 또는 너비와 높이가 설정되었는지 여부를 확인할 수 있습니다.

image1 = new Bitmap(@"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", true); 
+0

파일을로드 할 수 없으면 생성자가 예외를 throw하여 해당 속성에 액세스 할 객체 인스턴스가 없을 것이라고 생각합니다. –