▼スクリーンキャプチャ - Advanced HSP
http://chokuto.ifdef.jp/advanced/capturescreen.html
デスクトップをキャプチャする方法を探していて、こちらの記事を拝見しました。
ここから、画面全体ではなく例えば「デスクトップ右上付近(1000,100)から横200px縦20px」のような、範囲を指定してキャプチャすることは可能でしょうか?
解説内の
BitBlt hdc, 0, 0, sx, sy, hdcScreen, 0, 0, SRCCOPY | CAPTUREBLT
の値を色々弄ってみたのですが、保存される画像のサイズは変わらないようでした。
gsel 1にデスクトップをキャプチャしてから必要な部分だけを切り取りgsel 0にコピーすれば結果は同じなのですが、redraw 1 :await 1000.0 / 60 :redraw 0として処理をループさせている為、非常に重くなってしまい悩んでいます。
最初からキャプチャ範囲を狭くできれば少しは軽くなるかもしれないと思い、こちらで質問させていただきました。
宜しければアドバイス等頂けるとありがたいです。
ただ、そもそもキャプチャする範囲を狭めれば処理が軽くなるのかどうか解っていません。
範囲の広さに関係なくキャプチャという処理自体が重いのであれば、別の方法を考えようと思います。
※追記
デスクトップ上の指定の座標の色を取得し続けるのが目的なので、画像として一旦保存するのではなく、直接デスクトップ上から取得すればどうかと、
▼別ウインドウからのpget
http://hsp.tv/play/pforum.php?mode=pastwch&num=43084
こちらの記事のNO.43115を参考に試してみたのですが、getPixel ginfo_mx, ginfo_myで取得する座標点を5つ6つと増やしたところ、スクリーンキャプチャ方法よりも重くなってしまいました。