問題タブ [screen-grab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
719 参照

xcode - OpenglESビデオのエクスポート

XCodeにはiPadからOpenglESフレームをキャプチャする機能があり、それは素晴らしいことです。この機能を拡張して、アプリケーションのOpenglESムービー全体をキャプチャしたいと思います。そのための方法はありますか?XCodeを使用できない場合、コードに大きな変更を加えることなく、どうすればそれを実行できますか?どうもありがとうございます!

0 投票する
2 に答える
142 参照

php - PHPで画像を表示する画像コンテンツ

GrabzIt PHPライブラリを使用していますが、Webページのスクリーンショットが返されます。

ライブラリは、ファイルとして保存される画像コンテンツを返します。例:

画像を保存せずに(サーバースペースを使用して)ページにこの画像を表示したい。出来ますか?

0 投票する
1 に答える
3078 参照

linux - LinuxでAlt+Tab対応のフルスクリーンプログラム(ゲームなど)を作成するにはどうすればよいですか?

ウィンドウまたはフルスクリーンのウィンドウに描画するアプリケーションを作成したいのですが、マウスをつかんで、Alt + TabなどのWMキーボードショートカット傍受することはありません。また、ユーザーが出入りするたびに通知を受ける必要があります。集中。

Google Chrome、Firefox、gnome-terminalなどの一般的なアプリケーションは、これを問題なく処理できます(F11でフルスクリーンになりますが、Alt + Tabは引き続き使用できます)が、マウスをつかむことはありません。

SDLは、このユースケースの扱いが悪いことで有名です。SDL_WM_GrabInputはマウスを取得しますが、WMショートカットもインターセプトします。SDL_FULLSCREENは、それ自体で何らかの自動グラブを備えているようです(理由は聞かないでください)。

解決策は自分でAlt+Tabのコードを書くことかもしれませんが、これはうまくいきません(そして、別のワークスペースに変更するなど、他のWMショートカットには役立ちません)。

もう1つの解決策は、SDL_WM_GrabInputを呼び出さずに、グラブを偽造することです。マウスポインターを(SDL_ShowCursorを使用して)非表示にし、ユーザーが移動するたびに中央に戻します。これは醜いですが、実際には機能します。もちろん、SDL_FULLSCREENは自動的に取得されるため、SDL_FULLSCREENは除きます(正常な実装とは異なります)。フルスクリーン対応のSDLソリューションはこれですが、それでも私が望んでいることではありません。グラブを有効または無効にするためのハックは必要ありません。マウスをグラブしたいのですが、キーボードをグラブしたくありません。

だから私はSDLに夢中になっていて、代替案を見たいと思っています。SDLを使いたいのですが、必須ではありません。

この質問は、SDLが実際に行うことはXGrabKeyboardを使用することであることを指摘しているようです。マニュアルページを読んでも、キーボードをつかまなくてもマウスをつかむことができるかどうかはすぐにはわかりません(私はXlibを自分で使用したことはありません)。

GTK(つまり、Alt + Tabに対応した、gnome-terminalの種類)を使用して「偽のフルスクリーン」を作成する方法を知っています。これを行うことと、マウスを非表示にして中央に戻すこと(「偽のグラブ」)を組み合わせることでうまくいくと思いますが、これはダクトテープが多すぎるように感じます。もっと簡単な方法があるはずです。(また、依存関係としてGTKを追加したくありませんが、生のXlib呼び出しを行うことが良い考えかどうかもわかりません)。

これに対する良い解決策は何ですか?

Linux / X11ソリューションが必要ですが、クロスプラットフォームであると便利です。これはWindowsでスムーズに解決できることを知っているので、これを正確に実行するライブラリがあるかもしれません。(また、私はOpenGLでレンダリングしますが、これは関係ありません)

PS:おそらく私はこの問題についてよく理解しておらず、正しい質問をしていないので、私が検討していないアプローチを自由に指摘してください。

0 投票する
1 に答える
1776 参照

html - アイコン画像を取得する方法

リンクに使用したい画像を求めて、さまざまな Web サイトを閲覧していました。たとえば、Twitter の画像です。

通常、画像にカーソルを合わせて「control + クリック」を押すと、名前を付けて保存できます。

しかし、この特定の Web サイトでは、画像はアイコンであり、取得することはできません。

これは、強調表示したい画像とそれに付随するhtmlとcssを選択した要素の画面です。

このアイコンを取得するにはどうすればよいですか? アイコンはこちらのサイトにあります: https://uchaguzi.co.ke/

ここに画像の説明を入力

0 投票する
1 に答える
148 参照

html - HTML 画像が読み込まれていませんか?

html img の読み込みに問題があり<img src="tour1.tiff">ます。コンソールからのエラーはありません。別の img を読み込もうとすると読み込まれますが、この "tour.tiff" は読み込まれません。Mac の Grab アプリケーションから画像を取得したためだと思われます。「グラブ」する画面の一部を選択し、 tour1.tiff として保存しました。

この画像がロードされないのはなぜですか?どうすればロードできますか? より明確にする必要がある場合は、コメントに記載してください。

0 投票する
1 に答える
78 参照

ffmpeg - vlc を使用した ffmper - スクリーン グラブが重すぎるため、ファイルが不安定になり、フレームが失われる

「vlc/ffmpeg」パッケージを使用して画面を取得し、H.264 ファイルに変換しています。

この問題は、ホストの負荷が高い場合に発生します。正しいタイム スタンプを維持し、5 fps (比較的低いフレーム レート) を使用する必要があります。それでも、明らかにフレームの損失が原因で、結果のファイルが数秒先にジャンプすることがあります。フレームの損失に対処できます。問題ありませんが、正確なタイミングを維持するために、失われたフレームを複製する必要があります。

私の設定ファイル:

vlc.exe screen:// -I dummy --verbose=2 --one-instance :screen-fps=5 :screen-caching=10000 :sout=#transcode{venc=x264{preset=ultrafast,tune=zerolatency} ,vcodec=h264,fps=5,vb=3000,width=1024,height=576,acodec=none}:ファイル{dst="C:\tmp\output.mp4"}

適切なタイム スタンプとクリップの長さを保持するには、何を追加/構成する必要がありますか?

助けてくれて本当にありがとうございます。

0 投票する
0 に答える
441 参照

windows - Windows 10 で特定のウィンドウを取得する

Windows 10 で特定のウィンドウを取得しようとしています。API に慣れるために、MSDN の記事をいくつか読みました。私の目標は、その上にいくつかのウィンドウがある場合でも、いくつかの特定のウィンドウを取得することです (OS X と同等CGWindowList API)。したがって、2 つのウィンドウがある場合: Aand B、および windows がB部分的に window に重なっている場合、ウィンドウを部分的に覆うウィンドウをキャプチャせずに、ウィンドウの内容Aをキャプチャできるようにしたいと考えています。AB

このリンクによると、画面をキャプチャする 5 つの異なる方法があります。それらが正しいことを理解していれば、それらのほとんどは画面上の一部の領域のみをキャプチャできます。つまり、ウィンドウを区別しません。特定のウィンドウを取得できる唯一の API は、「古いスタンバイ、GDI」です。

関数を使用して Windows のデバイス コンテキストを取得GetWindowDC()し、互換性のあるビットマップを作成してから、ビット ブロック転送 ( BitBlt()) を使用しようとしました。ただし、必ずしも期待どおりに機能するとは限らないようです。

Windows 10 でいくつかの問題に気付きました (他のオペレーティング システムではテストしていません)。

  1. 通常、ウィンドウのタイトル バーはキャプチャされません。メモ帳を開いてウィンドウをキャプチャしようとしましたが、完全にはキャプチャされず、スクロール バーの一部とタイトル バーがキャプチャされませんでした。メモ帳の子ウィンドウをキャプチャしようとしましたが、期待どおりに動作しませんでした。さらに、いくつかの子ウィンドウは座標が間違っているようです (msctls_statusbar32msctls_statusbar32メモ帳の子ウィンドウは、実際の幅の 3 倍の幅を持っていました)。窓)。
  2. 一部のアプリはまったくキャプチャされません。たとえば、「写真」、「電卓」、「設定」などのアプリケーションは、そのアプローチではキャプチャされません。それらをキャプチャしようとすると、黒いビットマップが表示されます。そのようなウィンドウをキャプチャできる API が必要です。たとえば、TeamViewer はそれらのウィンドウをキャプチャできます。そのようなウィンドウはすべてApplicationFrameHost.exeプロセスによってレンダリングされるようです。

これらの問題を解決する方法を知っている人はいますか?