tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^8: GetDIbitsの使用方法について
投稿日: 2014/03/16(Sun) 08:59
投稿者還暦手習い
魔界の仮面弁士様、ご指導ありがとうございます。

>> ディスクトップ
>ディスクトップ(disctop:盤上)ではなく
>デスクトップ(desktop:卓上)です。
>> ウインドハンドル
>ウィンドハンドル(wind-handle:風のハンドル)ではなく、
>ウィンドウハンドル(window-handle:窓のハンドル)です。

・申し訳ありませんでした。記載ミスです。理解できております。

>ところで、取得したリソースは使用後に解放していますよね?

・記載は省略しておりましたが、DeleteDCやReleaseDCはそれなりに理解して使用
 しております。


>> MSDNで調べました。
>> 結果はチンプンカンプンでした。
>どこまで分かっていて、どこからチンプンカンプンなのか分からないので、ざっ
くり書くと:

・hdc
 デバイスコンテキストのハンドルを指定します。
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ↑Frame1のデバイスコンテキストのハンドルではないのですよね。
      なにのデバイスコンテキストのハンドルかがわかりません。

 hgdiobj
 選択対象のオブジェクトのハンドルを指定します。選択対象のオブジェクトは、
 次の関数のいずれかを 使って作成しておかなければなりません。

 ビットマップ CreateBitmap、CreateBitmapIndirect、CreateCompatibleBitmap、
 CreateDIBitmap、CreateDIBSection (メモリデバイスコンテキストでのみビット
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   ↑意味がわかりません。調べる必要有り!

 マップを選択できます。また、一度に1つのデバイスコンテキストでのみ選択でき
 ます。)

 ・・ひとつ調べるとまた意味不明の語句あり、自分にとってはまるで「無間地獄」
   の状態になっています。

・魔界の仮面弁士や花ちゃんのようにすべてを理解した上で、使用できれはいいので
 しょうが、今の自分にとっては、「良くわからないけど、やってみたら狙い通りに
 できた=うれしい!」ってのがさらに次ステップへ進めるモチベーションになるの
 です。理解より達成感が、次の階段を踏み出す大きな動機付けなのです。

>>SelectObjct は、直前に設定されていたオブジェクトを返します。
  非互換のオブジェクトを渡した場合は、失敗を表すゼロが返されます。

>>>> ohbm = SelectObject(Frame1DC, hbm)
>>>> Debug.Print ohbm  '← 0 がPrintされる = Error?

・つまりFrame1DCは「非互換のオブジェクト」ということなんでしょうか。
  ここで指定するデバイスコンテキストのハンドルは、何を使用したらいいのでしょ
  うか?

●それとも、そもそもFrame1に表示された画像のピクセル単位の色情報をGetDIBitsを
 使って取得することは不可能なのでしょうか。
 時間のかかるGetpixelでしか対応できないのでしょうか?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。