/ 親階層)  USBカメラの制御
□投稿者/ vedfukui 【202.171.144.233】(2010/12/13(Mon) 15:55:01)

http://www.voraxed.co.jp/files/usbcamera.zip
    USBカメラを制御する HSPDSC.DLLを使って
    なでしこでUSBカメラ画面をフル画面で表示する
    プログラムをサンプルを参考に作ってみたのですが、
    「デバイスの解像度プロパティページ」を表示させる
    方法がわかりません。

    サンプルのソースとEXEは下記からダウンロードできます。

    http://www.voraxed.co.jp/files/usbcamera.zip

    どなたか デバイスの解像度プロパティを
    変更する部分の書き方を教えていただけますか?

    とりあえず、サンプルソースでは
    タスクトレイに表示しているアイコンを右クリックすると
    デバイスの解像度プロパティを変更する命令が
    動作するようにしたいと思っています。

    ------------------------------------------
    dsc_DevPinProp p1
    デバイスの解像度プロパティページを表示します。
    p1 = ウィンドウのハンドル( hwnd )
    dsc_DevPinProp hwnd
    ------------------------------------------


    W=デスクトップW
    H=デスクトップH
    母艦のタイトルは「フォラックス教育 」&W&「x」&H
    母艦の幅はW
    母艦の高さはH
    母艦の位置は「0,0」
    母艦のスタイルは「枠可変」


    x=母艦の幅
    y=母艦の高さ

    # なでラーではないので、書き方がかなりいい加減だと思います。
    # とりあえず、動きますよーって感じです。
    # HSP側のヘッダとソースを参考にすると良いかも。

    # HSPDSCの命令
    ●dsc_Version()=DLL("hspdsc.dll","int dsc_Version()")
    ●dsc_GetDeviceList(p1,p2)=DLL("hspdsc.dll","int dsc_GetDeviceList(LP* pDevList,INT flg)")
    ●dsc_Init()=DLL("hspdsc.dll","int dsc_Init()")
    ●dsc_Open(p1,p2,p3,p4,p5)=DLL("hspdsc.dll","int dsc_Open(INT devid,INT p2,INT p3,INT p4,INT p5)")
    ●dsc_Play(p1,p2,p3,p4,p5)=DLL("hspdsc.dll","int dsc_Play(HWND hWnd,INT x1,INT y1,INT x2,INT y2)")
    ●dsc_Play2()=DLL("hspdsc.dll","int dsc_Play2()")
    ●dsc_Stop()=DLL("hspdsc.dll","int dsc_Stop()")
    ●dsc_ReSize(p1,p2,p3,p4,p5)=DLL("hspdsc.dll","int dsc_ReSize(HWND hWnd,INT x1,INT y1,INT x2,INT y2)")
    ●dsc_GetImage(p1,p2,p3,p4,p5)=DLL("hspdsc.dll","int dsc_GetImage(HDC hDC,INT x1,INT y1,INT x2,INT y2)")
    ●dsc_SaveBMP(p1)=DLL("hspdsc.dll","int dsc_SaveBMP(CHAR savefile)")
    ●dsc_Close()=DLL("hspdsc.dll","int dsc_Close()")
    ●dsc_Exit()=DLL("hspdsc.dll","int dsc_Exit()")

    ●dsc_DevPinProp()=DLL("hspdsc.dll","int dsc_DevPinProp()")


    #バージョンを表示
    バージョンは0 #初期化する
    バージョン=dsc_Version()

    #デバイスを数える
    dsc_Init() #HSPDSC初期化
    数は0

    #明示的にメモリを確保します。
    #(HSPのsdimと同等)

    デバイスは文字列型
    デバイスに4096を確保

    数=dsc_GetDeviceList(POINTER(デバイス),0)

    #エラートラップ
    もし数=-2ならばdsc_Exit()して終了
    もし数=0ならばdsc_Exit()して終了

    #デバイス選択
    ダイアログ数値変換は1
    デバイスアイディは「0」
    もしデバイスアイディが-1以下ならば「そのインデックスのデバイスは表示できません。」を言ってdsc_Exit()して終了
    もしデバイスアイディが数-1 超ならば「そのインデックスのデバイスは表示できません。」を言ってdsc_Exit()して終了
    もしデバイスアイディが""ならばdsc_Exit()して終了

    #実際に表示する

    dsc_Open(デバイスアイディ,1,0,1,2)
    もしそれが0未満なら「オープンエラーが発生しました。」を言ってdsc_Exit()して終了

    //母艦ハンドルはハンドル

    dsc_Play(母艦ハンドル,1,1,x,y)
    もしそれが0未満なら「レンダリングエラーが発生しました。」を言ってdsc_Close()とdsc_Exit()して終了

    #「現在デバイスは再生中です。」と言う

    母艦のスタイルは「枠可変」
    母艦をタスクトレイ表示。

    母艦のタスクトレイ右クリックした時は
    'dsc_Stop
    dsc_DevPinProp 母艦ハンドル
    「デバイスの解像度プロパティを変更したい」を言う
    x=母艦の幅
    y=母艦の高さ
    dsc_ReSize(母艦ハンドル,1,1,x,y)
    dsc_Play(母艦ハンドル,1,1,x,y)
    母艦のタイトルは「フォラックス教育 」&x&「x」&y




    母艦のタスクトレイクリックした時は
      NはN+1。
       もし、N=1ならば
    dsc_ReSize(母艦ハンドル,1,1,320,240)
    dsc_Play(母艦ハンドル,1,1,320,240)
    母艦の幅は330
    母艦の高さは250
    母艦の位置は「0,0」
    母艦のタイトルは「フォラックス教育 320x240」
       もし、N=2ならば
    dsc_ReSize(母艦ハンドル,1,1,640,480)
    dsc_Play(母艦ハンドル,1,1,640,480)
    母艦の幅は650
    母艦の高さは490
    母艦の位置は「0,0」
    母艦のタイトルは「フォラックス教育 640x480」
       もし、N=3ならば
    dsc_ReSize(母艦ハンドル,1,1,800,600)
    dsc_Play(母艦ハンドル,1,1,800,600)
    母艦の幅は810
    母艦の高さは610
    母艦の位置は「0,0」
    母艦のタイトルは「フォラックス教育 800x600」
       もし、N=4ならば
    dsc_ReSize(母艦ハンドル,1,1,1024,768)
    dsc_Play(母艦ハンドル,1,1,1024,768)
    母艦の幅は1034
    母艦の高さは778
    母艦の位置は「0,0」
    母艦のタイトルは「フォラックス教育 1024x768」
       もし、N=5ならば
    dsc_ReSize(母艦ハンドル,1,1,W,H)
    dsc_Play(母艦ハンドル,1,1,W,H)
    母艦の幅はW
    母艦の高さはH
    母艦のタイトルは「フォラックス教育 」&W&「x」&H
    N=0


    母艦のサイズ変更した時は
    x=母艦の幅
    y=母艦の高さ
    dsc_ReSize(母艦ハンドル,1,1,x,y)
    dsc_Play(母艦ハンドル,1,1,x,y)
    母艦のタイトルは「フォラックス教育 」&x&「x」&y


    母艦の閉じた時は
    dsc_Stop()
      dsc_Close()
      dsc_Exit()
      終了


削除キー/

 
関連内容&回答

Nomal USBカメラの制御 / vedfukui (10/12/13(Mon) 15:55) [#5054] 【 表 示 内 容 】
Nomal Re[1]: USBカメラの制御 / vedfukui (10/12/13(Mon) 17:45) [#5055]
  └Nomal Re[2]: USBカメラの制御 / 焼きそば (10/12/19(Sun) 02:04) [#5070]
    └Nomal Re[3]: USBカメラの制御 / vedfukui (10/12/23(Thu) 20:14) [#5077] 解決済み!



Name/
E-Mail/
Title/
URL/
Icon/ (画像を選択/サンプル一覧)
削除キー/ (半角8文字以内)
確認キー/ (”質問掲示板”と記入)
解決済み! BOX/ 解決したらチェック
 

Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版