静止画キャプチャデータをDIB形式でメモリに格納
dsc_GetImageMem data,size,head
data : DIBを格納する変数 size : DIBサイズを格納する変数 head : ヘッダを格納する変数
(プラグイン / モジュール : hspdsc.dll)
静止画キャプチャデータをDIB形式でメモリに格納します。 あらかじめ、DIBとヘッダのメモリをsdim などで確保してください。 サイズは dsc_GetImageMemSize() 関数で調べることができます。 ヘッダは BITMAPINFO 構造体と同じです。
// SetDIBitsToDevice は gdi32.as に記述されています。 sdim dibdata, dsc_GetImageMemSize(0)+1 ; 下の対策のため +1 sdim dibhead, dsc_GetImageMemSize(1) dibsize = dsc_GetImageMemSize(0) dsc_GetImageMem dibdata, dibsize, dibhead // 取得した画像の X ,Y サイズ x=lpeek(dibhead,4) y=lpeek(dibhead,8) // 元の画像 screen 2,x,y : title "元の画像" SetDIBitsToDevice hdc,0,0,x,y,0,0,0,y,varptr(dibdata),varptr(dibhead),0 redraw // 白黒化処理 repeat dibsize/3 /* 24bit Color */ // 閾値 チェック if peek(dibdata,cnt*3+2) > 160 { /* DIB は RGB ではなく BGR 順 */ // 4byte ずつ 書き込みするため 確保バッファあらかじめ +1 する lpoke dibdata,cnt*3,16777215 }else{ lpoke dibdata,cnt*3,0 } loop // 加工後の画像 screen 3,x,y : title "加工後の画像" SetDIBitsToDevice hdc,0,0,x,y,0,0,0,y,varptr(dibdata),varptr(dibhead),0 redraw
dsc_GetImageMemSize | DIB および ヘッダ のデータサイズを取得(関数) | (hspdsc.dll) |
dsc_GetImage | 静止画キャプチャし画像をウィンドウに転送 | (hspdsc.dll) |
dsc_SaveBMP | 静止画キャプチャ画像をBMPで保存します | (hspdsc.dll) |
dsc_SetCapConfig | 静止画キャプチャーを利用可能にします | (hspdsc.dll) |
プラグイン / モジュール | hspdsc.dll |
バージョン | 2.12 |
作成日 | 2014/09/15 |
著作者 | イノビア(inovia) |
URL | https://hsp.moe/ |
備考 | HSP向け DirectShow キャプチャプラグイン
hspdsc.asをインクルード |
グループ | DirectShowキャプチャ命令 |
対応環境 |
|
移植のヒント | Windows |
hs ファイル | hsphelp\hspdsc.hs |