私のプログラムのスクリーンショットを取ってpng(またはpdfとして可能な場合)として保存したいと考えています。私はQtからスクリーンショットの例を取ってきました。これは、ディスプレイ全体からスクリーンショットを取ります。しかし、ディスプレイの別の位置にあっても、私のウィンドウの一部だけからスクリーンショットを撮りたいです。どうやってやるの。機能はありますか?Qt-Windowの小さな部分のスクリーンショット
2
A
答えて
4
static
機能grabWidget
QPixmap
はあなたの友人です。提供されたウィジェットのピクスマップを簡単に取得して、必要な任意の形式で簡単に保存できます。
QPixmap p = QPixmap::grabWidget(widget);
p.save("p.png");
0
約QWidget::render
(http://doc.qt.nokia.com/4.7-snapshot/qwidget.html#render)とは何ですか?
0
ウィンドウの位置とサイズを調べます。スクリーンショットで見たい特定の要素がある場合は、代わりにその位置とサイズを取得できます。それ以外の場合は、ウィンドウの位置からのオフセットを使用する必要があります。これにより、問題が発生する可能性があります(たとえば、ウィンドウのサイズが変更されたときなど)。
スクリーンショットを取得してから、前回の位置/サイズを使用してpixmapを作成します。
1つの欠点があります。デスクトップ全体のスナップショットを撮るのがやや遅いです。
したがって、アプリケーションを変更する方がよい場合があります。オフスクリーンバッファーに保存する部分をレンダリングします。このバッファを使用してUIをレンダリングし、スクリーンショットを同時に保存することができます。
関連する問題
- 1. Swiftの部分スクリーンショット3
- 2. ステートレスコンポーネントを小さな部分に分割
- 3. イオニックマップ - ビューの小さな部分にフィッティングマップ
- 4. iPadで部分的なスクリーンショットを撮る
- 5. のiOS - Scrollviewのスクリーンショットは、グレーの部分
- 6. Python分割ビデオファイルを小さな部分に分割する
- 7. ページがPHPの小さな部分を認識しない
- 8. liの間の小さな空白の部分
- 9. ボタンプレスで部分的にスクリーンショットを取る
- 10. StringBufferをより小さな部分に分割する
- 11. DirectShowでビデオの小さな部分のみを表示
- 12. 小さなサイズのより多くの部分にsqoop
- 13. NoCaching私のCakePHPの小さな部分Page
- 14. 私のウィンドウの小さな部分にレンダリングする
- 15. PyGame - ディスプレイの特定の部分のスクリーンショットを撮る
- 16. 画面のある部分のスナップショット/スクリーンショットを撮る(javaFX)
- 17. 曲線を小さな部分としてプロットするmatlab
- 18. Backbone/Spineで小さな部分を更新する方法
- 19. 使用小数部分
- 20. ハイチャート - パイ/ドーナツチャートグループ小部分
- 21. GTKを使った画面部分領域のスクリーンショット
- 22. 分割小さなパンダのデータフレームのリスト
- 23. 分の高さ/最小幅は、一部のブラウザで
- 24. はオーディオファイルを自動的に小さな部分に分割します
- 25. Magentoの親テーマの小さな部分を修正するには?
- 26. 小さな内部プロジェクト用のマップサービス
- 27. 自分の小さなプロジェクト用にデフォルトプリンタ
- 28. メニューの上部とウェブサイトの上部の間の小さなスペース
- 29. Javaをコレクションを一般的な基底型の同じサイズの小さな部分に分割する
- 30. 複数の小さなデータフレームを複数の小さなデータフレームに分割する