タイトル | : USBカメラでの静止画をPictureboxに表示したい |
記事No | : 7764 |
投稿日 | : 2008/07/03(Thu) 02:51 |
投稿者 | : ぬこ |
2006/2/6に投稿された下記のスレッドで http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=3052&reno=no&oya=3052&mode=msgview&page=1050 (PictureBoxにUSBカメラの画像を表示させる方法) YAS様が投稿されておりますサンプルコード http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=3133&reno=3095&oya=3052&mode=msgview&page=1050 をVB.NET2003で活用させて頂こうと思い相違箇所を訂正しているのですが、
Bmpの定義の部分でつまづいてしまいました。
Dim Bmp As New Bitmap( _ BV.SourceWidth, _ BV.SourceHeight, _ -4 * BV.SourceWidth, _ Imaging.PixelFormat.Format32bppRgb, _ CType(CType(DIBImage, Integer) + (BufferSize - 4 * BV.SourceWidth),IntPtr))
上記のNew Bitmapの最後の引数の部分なのですが、 最初にIntPtrをInteger型に変換できないというエラーがでるので、 CType(DIBImage, Integer)をDIBImage.ToInt32 と変更しました。 すると次に、Integer型をIntPrtに変換できないと出たので、 Webを検索して見つけた方法で IntPtr.op_Explicit(DIBImage.ToInt32 + (BufferSize - 4 * BV.SourceWidth) 上記のように訂正しました。
このようにしたところ、デバッグは通るようになり、動画が表示されるのですが、 静止画をキャプチャーしてPictureBoxに表示させようとButtonをクリックすると 真っ黒な画像が表示されてしまいます。
特にエラーは出ないのですが、この部分訂正した箇所に問題があるのではと思って いるのですが、正しい方法をご教授頂けると助かります。
最後になりましたが、YAS様、すばらしいサンプルをありがとうございます。 ほとんど貼り付けるだけでカメラの動画を表示することができて驚きました。
|