掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DirectShowで取得した画像をBMPファイルにする方法 (ID:142303)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そのままでは BMP にはなりません。 BITMAPFILEHEADER の部分が抜けていますし。 また、長さには sz という変数名を普通は使いませんよね。 さらに、この値は ByRef で、且つ受け取った値にも意味が あります。 その上で、タイプライブラリを改造して、第2引数に Cでの NULL (VB での ByVal 0& など)を渡せるようにして、 Dim iBufferSize As Long Dim bDIBImage() As Byte Dim iTemp As Long Call BasicVideo.GetCurrentImage(iBufferSize, Byval 0&) iTemp = iBufferSize + 14& ReDim bDIBImage(0& To iTemp - 1&) Call BasicVideo.GetCurrentImage(iBufferSize, bDIBImage(14&)) bDIBImage(0&) = &H42 bDIBImage(1&) = &H4D ' この後、bDIBImage(2& 〜 5&) に iTemp の値を入れる。 ' また、取得した BITMAPINFO から ビットマップデータ(HeaderやPaletteを ' 除いた領域)への Offset を取得し、それを bDIBImage(10& 〜 13&)に入れる。 という感じでは。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.