제가 vfw api를 이용해서 C#에서 캠영상을 출력해 볼려고 하는데

진입점을 찾을수 없다고 하네요..

;

이렇게요.

dllimport는 이렇게 했는데요

;

맨위에 capCreateCaptureWindow는 임포트가 되서 넘어가는데

밑에 capDriverConnect는 저런 메세지가 뜨는데 도움좀 주세요 ^^

------------------------------------------------------------

2003년도에 시현을 위해서 잠깐 셈플링코드로 테스트했던 화상관련 .NET 자료입니다;
(오래되었군요; 덜덜덜;)

당시에 AVICap 을 이용해서도 돌려보고.. DirectX 의 Dnetshow 로도 해본것 같은데..

부하리소스로 보건데 Dnetshow 의 라이브러리가 가장 괜찮았던것으로 기억됩니다.


일단 말씀하신 AVICap 을 이용한 영상처리 및 소스를 첨부합니다.

해당 API는 VB.net 코드로 작성된 클래스코드 라이브러리 입니다.


VB.net 과 C# . 어차피 별반 다를바 없으니 크게 차이가 없을것으로 생각됩니다.

첨부된 클래스를 프로젝트에서 참조하신뒤

picSource 라는 PictureBox 컨트롤 하나 만드신뒤 Form 로드 이벤트시에 화면에 드로잉 하는 소스코드입니다.

(해당 코드는 제작시기를 보시면 아시겠지만, v1.1 의 코드입니다. v2.0 에서도 무리없이 사용하실수 있을것으로 생각됩니다. 다시한번더 try 해보신뒤 의문점있으시면 남겨주시기 바랍니다.)


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim lpszName As New Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString(100)
       Dim lpszVer As New Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString(100)
       Dim Caps As AVICAP.CAPDRIVERCAPS


       ''//Create Capture Window
      AVICAP.capGetDriverDescriptionA(0, lpszName.Value, 100, lpszVer.Value, 100) ''// Retrieves driver info


       MemCap.lwndC = AVICAP.capCreateCaptureWindowA(lpszName.Value, MemCap.WS_VISIBLE Or MemCap.WS_CHILD, 0, 0, 320, 240, picSource.Handle.ToInt32, 0)

       ''// Connect the capture window to the driver
       If AVICAP.capDriverConnect(MemCap.lwndC, 0) Then
           AVICAP.capPreviewScale(MemCap.lwndC, True) '' 켑쳐윈도우 크기에 맞게 비율적으로 크게 혹은 작게 preview에 쓰이는 3가지 함수.
           AVICAP.capPreviewRate(MemCap.lwndC, 66) '' 켑처레이트 조절
           AVICAP.capPreview(MemCap.lwndC, True) '' 프리뷰 모드 시작 또는 중지
           ''check = True
           ''capSetCallbackOnFrame(lwndC, AddressOf MyFrameCallback)
       End If

       ''me.picMysmi.p
  End Sub



div>