2014-03-19 2 views
0

을 나는 50x160 BMP 이미지를로드 할 경우,이를 사용 : 사진을로드VB6 PictureBox.Point 또는 getPixel와 항상 -1을 반환 내가 PictureBox 컨트롤을

Picture1.Picture = LoadPicture(App.Path & "\test.bmp") 

되면, 나는의 색상을 얻으려면 나는 (분명히, 루프를 사용하여) 8000 개 픽셀을 시도

GetPixel(Picture1.hDC, 0, 0) 
Picture1.Point(0, 0) 

모든 함수 호출 (GetPixelPoint) 항상 -1를 반환 : 특정 픽셀. 처음 테스트 할 때 완벽하게 작동하고 이제는 마술처럼 작동하지 않습니다.

아이디어가 있으십니까?

답변

0

사진을 완전히로드 했습니까?

폼이로드가 직접 사진을로드하고
'1 form with 
' 1 picturebox: name=Picxture1 
Option Explicit 

Private Sub Form_Load() 
    Picture1.Picture = LoadPicture("c:\temp\thieu.jpg") 
    Caption = CStr(Picture1.Point(0, 0)) 
End Sub 

Private Sub Form_Resize() 
    Picture1.Move 0, 0, ScaleWidth, ScaleHeight 
End Sub 

Private Sub Picture1_Click() 
    Caption = CStr(Picture1.Point(0, 0)) 
End Sub 

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 
    Caption = CStr(Picture1.Point(X, Y)) 
End Sub 

캡션에서 0,0의 색상을 보여줍니다 .. -1 그림이기 때문에 :

다음과 같은 프로젝트를 보라 아직로드되지 않았습니다.

그림에서 마우스 단추를 아래로 누르면 해당 좌표의 색이 표시되고 단추를 놓으면 (클릭 만 완료하면) 좌표 색이 표시됩니다. 0,0

관련 문제