問題タブ [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.
c++ - 表示する高性能QImage出力
qtの可視ウィジェットにビデオ出力(フレームのシーケンス)を作成しようとしています。最初はQLabelで十分だと思っていましたが…間違っていました。ピックスマップへの変換は、大きな画像(たとえば1080p)のプロセッサには過負荷になりすぎます。
他の解決策はありますか?(QLabelではありませんか?)
1フレームのコード例:
c++ - QPixmap データをロードするより良い方法
それを行うより良い方法 (なしQImage
)?:
QImage
中間バッファーとして使用する理由はわかりませんがQPixmap::loadFromData
、このコンテキストでデータをロードしないでください。
c++ - QtdrawPixmapは私が期待するものを描画していません
Qtを使用してC++でペイントアプリケーションを作成しようとしています。マウスをクリックまたはクリックアンドドラッグするたびに、プログラムはピックスマップ上に何かを描画します。その後、paintEvent()を呼び出してウィンドウを更新します。これにより、ピックスマップがウィンドウに描画されます。
問題は、プログラムがピックスマップをウィンドウに期待どおりに印刷していないことです。たとえば、x:17、y:82でマウスを押して、何かを描画しようとしています。プログラムは私が描いたものを印刷しますが、x + 20、yのようなオフセット位置にあります。
QRectまたはdrawPixmapがどのように機能するかを完全には理解していないかもしれませんが、pixmapは800x600です。「dirtyrect」は、ピックスマップ全体を保存することになっています(ax:0、y:0、サイズ800x600から開始)。
python - PySideを使用してQLabelでビデオストリームを表示する
PySideで新しいQMovie「プロバイダー」を作成する方法について誰かが私を正しい方向に向けることができますか?
できるだけ簡単に表示したいビデオストリームがあります(オーディオなし、フレームレートが不明で可変のフレームのシーケンスのみ)。この例は、私のビデオが型破りなソースからのものであることを除けば、完璧に見えます。これはファイルではなく、標準化されていない形式のネットワークストリームです。各フレームを受け取るコードを簡単に書くことができます。私の考えは、上記の例のようにこのストリームをラベルに表示できるように、「QMovieプロバイダー」を作成することです。
私の最初の考えは、QMovieをサブクラス化し、そこでいくつかの関数を上書きすることでしたが、インスタンスが読み取る「デバイス」について何をすべきかわからないため、ドキュメントを読むときにそれについて考え直し始めました。
前述のドキュメントで、QMovieがQImageReaderを使用していることに気付いたので、次の考えは、そのクラスを拡張して、ストリームからフレームを読み取らせることでした。それは同様の質問を提起しますが、たとえば、「supportedImageFormats()」関数で何をすべきですか?
新しいフレームを受信するたびにQLabelの画像を直接更新することを試みてきましたが、「QPixmap:GUIスレッドの外部でpixmapを使用するのは安全ではありません」というエラーが発生します。
したがって、基本的に私は少し困惑しており、PySideアプリケーションでビデオストリームを表示するためにQLabelを取得する方法についてのポインタやチュートリアルを本当にいただければ幸いです。
c++ - QPixmap画像ファイルがQGraphicsSceneに表示されない
Qt
のDiagramSceneサンプルを変更することにより、ユーザーがによって記述された領域をクリックしたときにウィンドウにオーバーレイオブジェクトを表示したいと思いますGraphicalScene
(元のサンプルは代わりに表示されますQPolygon
)。次のコードでは、を使用してQPixmap
います。ただし、リージョンをクリックしても何も表示されません。mousePressEvent
クリックされた場所で適切な位置を通過します。あなたの助けに感謝。
DiagramScene.cpp:
DiagramOverlayPixmapItem.cpp:
このスレッドは似ていますが(にありますがpython
)、私にはわかりません。
qt - Qt 4.7.4 - QGraphicsItem pixmap で透明なピクセルをクリック可能にする (ヒットボックスを展開する)
Qt Creatorを使って回路図エディタを作成しています。回路コンポーネントの画像をドロップして移動したい QGraphicsScene/QGraphicsView キャンバスがあります。
現在、ピックスマップ QGraphicsItem を使用してキャンバスに追加し、移動可能にしています。これは、シンボルの線を直接クリックするとうまく機能しますが、画像の透明な領域をクリックしてもシンボルは移動しません。
ヒットボックス/マウス領域を拡張して、これらの透明な領域が他の領域と同じように反応するようにする方法はありますか? 以下は、画像を追加する方法です。(他のシンボルがその後ろ/前に見えるように、画像を透明にする必要があります)
すべてのヘルプは大歓迎です! ありがとう!ジョシュ
c++ - メイン ウィンドウ内に QImage を表示する
Qtで画像を表示しようとしていますが、別のウィンドウに表示させることはできますが、メインウィンドウ内に表示させることはできません
これは、Qt デザイナーで設計したウィンドウを示しています。そのウィンドウの QWidget (centralWidget) 内に配置した Qlabel(Image_Lbel) にアクセスするにはどうすればよいですか?
正しいウィンドウ内ではなく、正しく表示されるストライプ画像を生成しました
作成者からのファイルや名前空間を含めていない可能性があると感じています。提案は大歓迎です
c++ - C++ Qt QPixmap セグメンテーション違反
Qtを使用して、C++でGUIを使用してカードゲームを実装しています。
window.cpp でクラス Window を呼び出してウィンドウを作成する main.cpp があります。window.cpp には、後で GUI を形成する一連のフレームとその他のウィジェットがあります。
次に、card.cpp にクラス Card があり、カードに関する情報が含まれています。Deck.cpp の Deck クラスには、特定のタイプのカードの数があります。最後に、gui_cards_kingdom.cpp は、カードの画像 (カード内のパス) とカードからの情報 (カード内) からウィジェットを構築します。gui_cards_kingdom は Widget から継承するクラスを定義し、Deck のインスタンスを含みます (必要な情報を取得できるようにするため)。
ここまでは順調ですね。window.cpp で、Card のインスタンスを作成し、それを Deck のインスタンスに配置して、Cards_kingdom (gui_cards_kingdom.cpp のクラス) に送信しました。
gui_cards_kingdom.cpp の img->setPixmap(image) 行で QPixmap を使用すると、セグメンテーション エラーが発生します。
デバッガーは、QPixmap を使用してカードの画像をラベルにロードする場合を除いて、情報がそこにあり、すべてが整っていることを教えてくれます。
main.cpp でいくつかの単純なコードをテストしたので、これはパスではありません (main.cpp のコメントアウトされたコードを参照してください)。私は img->setPixmap(image); に行きました。念のために。
私は私の知識の限界にいます。たくさん検索しましたが、何も見つかりませんでした。
どうぞよろしくお願いいたします。
-ベアトリス
main.cpp:
card.h:
card.cpp:
デッキキングダム.h:
デッキキングダム.cpp:
gui_cards_kingdom.h:
gui_cards_kingdom.cpp:
window.h :
ウィンドウ.cpp:
qt4 - テキストと画像を含む QString
QStringに画像を挿入する方法はありますか? このように QString が必要です " 'image' some text"
QPaintイベントに挿入しているのでQStringである必要があり、そのためにQLabelを使用することはできません(qlabelをペイント領域に挿入できないため)
助けてくれてありがとう!
c++ - QPainter を使用して QPixmap 上にグラフをプロットする
背景を画像に保ちながらリアルタイムグラフをプロットする必要があります。赤い色でグラフをプロットしているとしましょう。
しかし、私がプロットに使用するロジックは、painter.drawline を使用して細い線を描くことです。ここで、painter はピックスマップ ペインターです。次に、タイマータイムアウト()イベントでウィジェットを親にするペインタを使用して、このピックスマップを常に描画しています。そのため、更新されたイメージ (グラフ) が Gui にプロットされているように見えます。
ピックスマップの背景は黒で、プロット ペンの色は赤です。そのため、画面幅の最後に達したら、位置 0 からグラフの描画を開始する必要がありますが、2 番目のサイクル以降は、以前に描画されたピクセルを塗りつぶす必要があります (ピックスマップ全体、幅数ピクセル、高さ、ピックスマップの高さの四角形のみ)、黒色。
しかし今、背景画像を保持し、その上にグラフを描画する必要があります。背景を画像に保つ必要があるため、黒色で塗りつぶすことはできません。では、前述のように画像にグラフをプロットするにはどうすればよいでしょうか?
ソース画像の特定の色 (赤) のみを持つピクセルが宛先画像の対応するピクセルとブレンド/置換されるように、2 つの画像をブレンドする方法はありますか?