質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

3036閲覧

画面の情報をリアルタイムで受け取る方法について

fdaskjlfda

総合スコア40

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2018/04/15 04:10

編集2018/04/15 07:08

環境

windows 7 or 8 or 10
C言語

やりたいこと

パソコンの画面全体のピクセルごとの色の情報(24bit)をリアルタイムで受け取るということをしたいです。

このようなことができる関数かなにかはあるのでしょうか?
teratail初心者なので、何を書けばいいのかわかりませんが、よろしくおねがいします。

追記の対応

デスクトップの画面(人間が見ている画面)全てです。
また、DirectX/OpenGLで描写している画面も含みます。
fpsですが、最悪0.1fpsとかでも大丈夫です。
最高は15fpsほどです。
windows7のサポートは絶対ではありません。
サポートしないほうが楽になるなら、先にwindows8,10を完成させたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2018/04/15 05:23

「リアルタイムで受け取る」というのは、どういう意味ですか? 画面に写っている色というのは、画面全体(3840×2160ピクセル)のピクセルごとの色(24bit)ですか?
yumetodo

2018/04/15 06:58

デスクトップ画面、ないしWindowをキャプチャしたいという質問でしょうか?その際DirectX/OpenGLで描画されているWindowsは含まれますか?またリアルタイムというのは具体的に何fpsを想定していますか?また8以降では新しいAPIが追加されてより高速なキャプチャが可能となったのですが7のサポートは必要ですか?
guest

回答2

0

ベストアンサー

デスクトップキャプチャーソフトスーパーアマレコのヘルプページがこの件についてよくまとまっているのでまずは
http://www.amarectv.com/amarecco4/manual/hajimeni.html

を御覧ください。

次にこの作者さんのブログに詳しい解説があるので

を御覧ください。

まとめると、追記依頼でも書いたとおり、Windows7での動作は極めて制約が大きいことがわかります。Aero有効時のWindows7GDIキャプチャで可能なfpsはキャプチャーと圧縮・保存を別スレッドにすれば一般的なモニターを利用している場合30fpsが限界となります。

サンプルコードとしては
https://github.com/yumetodo/Scatto_continuo_v3
を前に作ったことがあります(キャプチャー部分は完成していたはずだけど全体としては未完成)

最高は15fpsほどです

ということですのでGDIキャプチャでも要求は満たすでしょう。

Windows7を切り捨てていいならDesktop Duplication APIを使うのがシンプルで高速でいいと思います。

投稿2018/04/15 07:55

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

安直な方法としては、
PrtScキーをキーボードイベントで送出して、クリップボードの画像をファイルに落とす。
あとはそのファイルを煮るなり焼くなり

投稿2018/04/15 07:39

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fdaskjlfda

2018/04/16 21:48

回答ありがとうございます ベストアンサーにした方法がうまく行かなかった場合にやってみることにします
y_waiwai

2018/04/16 22:41

いろんなAPIを調べてその実行法を調べて、、というのがめんどくさいときによくやる方法ですねーw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問