問題タブ [qpixmap]

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 に答える
920 参照

c++ - QPixmap のファイルサイズを小さくする

scaledToHeight で QPixmap のサイズを変更して QByteArray に変換すると、この ByteArray のサイズは、スケーリングされていない QPixmap の ByteArray のサイズとまったく同じになります。QPixmap をピクセルサイズとファイルサイズで縮小する可能性はありますか?

よろしくお願いします

0 投票する
3 に答える
5117 参照

c++ - Qt画面解像度スプラッシュ画面

私はsplash.showFullScreen()で表示するスプラッシュ画面の画像を持っていますが、画面の解像度に合わせてサイズが変更されないため、表示に応じてタイル状または大きくなります。私は考えられるすべてを試しましたが、何も機能しません。これはおそらくばかげた質問のように聞こえるかもしれませんが、私は答えを見つけることができないので、もしあればこれで私を助けることができますか?違いが生じる場合は、スプラッシュイメージにpixmapという名前のQPixmapを使用します。ちなみに、画像を画面解像度まで伸ばしてほしいです。

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

qt - Qt: ピックスマップ グリッド レイアウトを 2 次元配列値で更新する

Visual Studio 2010 と Qt 4.7 (両方のウィンドウ) で c++ の組み合わせを使用してゲームを行っています。ゲームは戦艦のクローンであり、コンソール入力ベースです。Qt デザイナーの Qt 側では、GUI は 10x10 のグリッド レイアウトで構成され、ラベルを使用してゲーム セルのピックスマップを保持します。

ゲームの現在の外観

2 次元配列での位置を表すために、各ラベルに念入りに名前を付けました (つまり、フリート マップ => F_00=> F[0,0]=> F[i],[j])。プロパティ エディターを使用して、表示するピックスマップを手動で選択できますが、動的なものが必要です。

update mapboard クラスを使用して、プレイヤーが発砲した後にゲーム ボードを再描画します。これは char 配列に保存され続けます。一般的な getupdatearray タイプの関数を使用して、それぞれのピックスマップを更新したいと思います。配列をトラバースすると、現在個々のラベルに関連付けられているピックスマップが更新され、配列のいとこに一致します。(F[5][6] = 'X'ヒットの場合、ループが配列内のその位置に到達すると、 F_56 のピックスマップのグリッドが更新され、 hit.png に等しくなり、 empty.pngが置き換えられます。

これを達成するループを作成する方法は考えていますが、各ラベルのピックスマップをランタイム機能と現在のコンパイル時 (静的) 機能の線に沿ったものにする方法がわかりません。QPainter と画像を扱う別の Qt クラスについて読んだことがありますが、まだ苦労しています。

2 次元配列に基づいてこれらのピックスマップを更新するにはどうすればよいですか?

  1. ループ構造 - 私は理解することができます
  2. 条件ステートメント - 私は理解することができます
  3. ラベルを扱うqt固有の構文-初心者なので、atmがわかりません。

これは、私がmap.hでやろうとしている種類の疑似コードです:

次に、mainwindow.cpp に map.h を含めて、次のように言います。

前もって感謝します

アップデート:

ボタンを押してピックスマップを交換できるようになりましたが、もっと動的なものを作成したいと思います。次を使用してxy値を追加することにより、変更したいラベルの名前を配置するQstringを使用したかった:

次を使用して呼び出そうとすると:

...それは明らかに機能しません。大文字と小文字を区別して入力する方法、または文字列の内容を Qlabel 名として使用する方法はありますか?

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

pyqt4 - QPixmap で Maya の 3D ビューをキャプチャするにはどうすればよいですか?

Maya のスクリーン キャプチャ スクリプトを作成します。だから、私は QPixmap クラスで仕事をします。

そんなスクリプトを書いています。

ただし、3Dview を取得できないため、機能しません。

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

qt - QMovie および QPixmap 関数を継承するクラス

QMovie と QPixmap からすべてを継承する Qt クラスはありますか?

0 投票する
4 に答える
19246 参照

python - スレッド化:GUIスレッドの外部でピックスマップを使用することは安全ではありません

SqueezeBoxコントローラーアプリであるSqueezePlayでステータスをチェックする音楽プレーヤーを作成しています。簡単に言うと、スレッドを使用してSqueezeplayのステータスを5秒ごとにチェックしています。曲のタイトルが変更された場合は、ラベル(Qlabel、アルバムアートワーク(QPixmap)など)を更新させます。ただし、スレッドを介して更新するように依頼すると、GUIスレッドの外部でピックスマップを使用するのは安全ではありません。

どうすればスレッド化を実行できますが、それでもQPixmapを設定できますか?

サンプルコード:

どうもありがとう!

更新: Emitで次のことを試しましたが、機能しません。誰かが私が間違っていることを確認できますか?

0 投票する
5 に答える
3531 参照

c++ - Leptonica Pix オブジェクトを QPixmap (または他の画像オブジェクト) に変換します

レプトニカ ライブラリを使用していくつかの写真を処理しています。その後、QT GUI に表示したいと思います。Leptonica は画像に独自のフォーマット Pix を使用していますが、QT は独自のフォーマット QPixmap を使用しています。現時点で唯一の方法は、処理後に画像をファイル ( bmp など) として保存し、QT 関数呼び出しで再度読み込むことです。今、コードでそれらを変換したいので、ファイルシステムに保存して迂回する必要はありません。これを行う方法はありますか?

よろしくお願いします

// 編集:

すでに示唆されているように、PIX* を QImage に変換しようとしました。PIX* は次のように定義されます。

http://tpgit.github.com/Leptonica/pix_8h_source.html

QImageは次のような方法を提供してくれます:

http://developer.qt.nokia.com/doc/qt-4.8/qimage.html#QImage-7

コンストラクターを呼び出すときに、データを PIX から QImage にコピーすることはできないと思います。QImage をピクセルごとに塗りつぶす必要があると思いますが、実際には方法がわかりませんか? すべての座標をループする必要がありますか? ビット深度はどのように考慮すればよいですか? ここに何かアイデアはありますか?

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

c++ - QtフォノンとQPixmap::GrabWidget

私は数日間、フォノンメディアオブジェクトからフレームを取得する作業を行ってきました。私の目的は、ユーザーが指定した間隔でフレームをキャプチャすることです。私は最初に、Phonon::MediaObjectに関連付けられたティック信号用のスロットを実装しようとしました。ただし、ティック信号は最初の機会に放出されるため、時差に多少のばらつきがある場合があります...それは実行可能な解決策ではないほどではありませんが、それでもさらに調査して、seekとgrabWidgetの組み合わせを試しましたが、表示されますシークが完了するまでに時間がかかり、ビデオが再び正常に実行されたときにアプリケーションに通知する方法がないため、次のようなコードが発生します

黒い画像を90%の時間保存しますが、残りの時間はフレームを正しくつかみます。

私の質問は、これらの2つのアイデアのいずれかについて、私にとってより効果的に機能するためにできることはありますか、それとも間違った木を大きく吠えているのに、完全に見逃していることがはるかに明白ですか?

前もって感謝します!

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

qt - QGraphicsPixmapItem からピクセルの位置と色を表示する方法

QGraphicsScene/View を使用してカスタム ウィジェットを開発していますが、これまでの経験はありません。

カスタム ウィジェットは、マウスの動きを追跡し、シグナルをその親ダイアログ/ウィンドウに送信する必要がある画像ビューアです。信号は、マウス カーソルの下のピクセルの位置とその色 (RGB) になります。ステータス バーはその情報を使用します。

QGraphicsPixmapItem を使用して、ファイルから読み込んだ画像をシーンに表示します。

ありがとう。

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

qt - QLabel に char* ビットマップを表示する最速の方法

IDS uEye ドライバーから rawchar*バッファーとして画像データを取得する画像処理アプリケーションを開発しています。この画像をユーザーに表示する必要があります。(私がQtを理解している限り、QLabelこの目的にはクラスを使用する必要があります)。char*また、バッファを直接変更するのが最も速いと思われる画像処理アルゴリズムについても説明する必要があります。

このアプローチでかなりの数のコード サンプルを見てきました。

whereimageはバッファQImageから構築されたです。char*

ただし、uEye デモ アプリケーションのソースで次のコードを見つけました。

wherePaintLabelは のサブクラスであり、QLabelをペイントする場所を示しています。rectangleQRectFimage

時間測定を行ったところ、2 番目のアプローチは約 1.8 倍高速であることが判明しました (約 9 ミリ秒対 16 ミリ秒)。

だから、私の質問は次のとおりです。ビットマップをさらに高速に表示する他の方法はありますchar*か?できるだけ高速に? これは 1 つの同じバッファーであることに注意してください。変化しているのはその内容だけです。そのため、フレームごとにすべてを最初から再構築する必要はありません。更新するだけです。