2010-12-04 5 views
0

if 문에서 이미지를 사용하려면 어떻게해야합니까?if 문에서 이미지 사용

내가 사전에 (예를 들어 image1에 대한) 특정 이미지가있는 경우, 다음 몇 가지 work.thanks을하는에 PictureBox의 클릭 이벤트에

업데이트를 확인하려면 예를 들어

이 같은

를 bool로하는 system.drawing.image을 변환 할 수 없습니다 : 의 PictureBox가 null 일 또는에서 이미지를 가질 수 있습니다, 내가 image1에 내가 내가 오류를했다이 코드를 컴파일 할 때 지금

private void pictureBox34_Click(object sender, EventArgs e) 
    { 
     if (///picturebox34=image1) 
     { 
      f(); 
     } 
    } 

그것에인지 확인하려면

+0

무엇을 의미합니까? Image 객체가 다른 Image 객체와 같은지 알고 싶습니까? 또는 이미지의 개별 바이트를 비교하여 일치하는지 확인하고 싶습니까? 어떤 종류의 이미지 탐지 알고리즘? – Scottie

+0

컨트롤에 항목을 초기화하거나 추가하기위한 예제 코드를 보여줍니다. –

+0

나는 내 질문을 업데이트했다 – Arash

답변

3

모든 이미지를 메모리에로드 한 경우 PictureBox에 할당 된 Image 개체와 다른 Image 개체 간의 참조 비교를 수행하여 PictureBox에있는 이미지를 확인하기 만하면됩니다.

은 또는 당신에 Image을 할당 할 때 PictureBox 이미지를 식별하고 이벤트 핸들러의 테스트를 위해 Tag 속성 값을 사용하는 PictureBoxTag 속성을 설정할 수 있습니다. 물론이 경우에는 메모리에 하나의 이미지 만 있으면되지만 Tag 속성에 할당 할 이미지의 이름과 같은 식별 정보가 있어야합니다.

업데이트 : 업데이트 된 질문에 따라 참조 비교를 수행해보십시오. 다음과 같이 할 수 있습니다

private void pictureBox34_Click(object sender, EventArgs e) 
{ 
    if (picturebox34.Image == image1) 
    { 
     f(); 
    } 
} 
+1

+1'Object'에서 캐스팅을 많이하는 'Tag' 속성에도 불구하고 실제로 제가 가장 좋아하는 솔루션이 아니 었습니다 ... –

관련 문제