Webカメラに接続して画像操作を行うプログラムをC#で作成しています。win32 api(avicap32.dll)を使用してWebカメラに接続し、クリップボードに送信するメッセージを送信するアプリケーションが動作しています。問題は、ペイントからアクセスできますが、プログラムから読み取るとnullポインタになることです。
これは私がウェブカメラを接続するために使用するコードです:
mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, 320, 240, 1024, 0);
SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);
SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0);
そして、これは私が画像をクリップボードにコピーするために使用するものです:
SendMessage(mCapHwnd, WM_CAP_GET_FRAME, 0, 0);
SendMessage(mCapHwnd, WM_CAP_COPY, 0, 0);
tempObj = Clipboard.GetDataObject();
tempImg = (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap);
コードを短くするためにコードから削除したエラーチェックがいくつかあります。
前もって感謝します :)