問題タブ [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.
qt - QPixmap と SVG
QPixmapでsvgを処理するにはどうすればよいですか?
構文QPixmap(":/myfile.svg");
then の呼び出しはscaled()
機能しません。QPixmap はピクセル化されます。
どうも。
qt - QImage と QPixmap の画像表示が正しくない
Ubuntu で QT を使用して OpenCV を実行していますが、QLabel を使用して画像を表示する際に問題が発生しました。コードを使用する場合:(「画像」はdcrawによって作成されたマットです):
画像はカラーで出力され、期待どおりです。
ただし、.jpg ファイルではなく 'img_display' を使用するように QImage の割り当てを置き換えると、画像表示は原点の右側から始まり、表示された画像の右下を三角形で上書きします。この三角形は、画像の LHS から失われたビットの半分のように見えます。私が使用しようとしている割り当てコードは次のとおりです。
画像は未加工の 18.2 MB の cr2 ファイルから取得され、dcraw によって作成されました。test.jpg は 3.1MB
フィードバックをいただければ幸いです。
c++ - QImage と QPixmap の違いは何ですか?
QImage と QPixmap の違いがわかりません。同じ機能を提供しているようです。いつ QImage を使用し、いつ QPixmap を使用する必要がありますか?
qt - QPixmaps を描画中のデータと接続する
QPixmap とそれに書き込まれているデータを接続する方法を探しています。これにより、最終的に現在画面に表示されているものを正確に記録できます。
これは qpainter.cpp のサンプル関数です (Qt SDK の ./src/gui/painting にあります) 私が取得しようとしているのは、長方形が書き込まれている Pixmap です (device()-> devType() は Pixmap です)。だから私はこのチェックを持っています:
Qpixmapのメモリアドレスを見つけて、画面に書き込まれているQPixmapのメモリアドレスと照合してみました。
でも、アドレスは全部違います。キャッシュキーも使用してみましたが、同じ問題に直面しました。
コンソール出力の例を次に示します。
それで、私が求めているのは、長方形が書き込まれているピックスマップと、後で画面に印刷されているピックスマップとの間をリンクすることですか? また、Pixmap が呼び出されていない場合、四角形が画面に表示されていないと安全に想定できますか?
質問に関して不明な点がある場合は、お知らせください。できる限り明確にするよう努めます。
ありがとうございました。
qt - QWidget のスクリーンショットを作成するには?
私は Qt Creator で宿題をしています。そこで QWidget にペイントし、この QWdiget の一部を保存する必要があります。
私はこの問題を解決しようとしました:
ご協力ありがとう御座います。
c++ - QGraphicsPixmapItem
QGraphicsPixmapItem は、QGraphicsItem と同様に、QGraphicsScene で部分的にのみ pixmap を再描画するために update(x0, y0, width, height) メソッドを持っています。これを呼び出すと、QGraphicsItem で paint() (Qt のイベント ループ内) がスケジュールされ、この paint() が実行された後、バウンディング ボックス (x、y、幅、高さ) が QGraphcisScene に再描画されます。
不幸な部分は、バウンディング ボックスでペイント イベントをスケジュールする方法がないことです。つまり、QGraphicsPixmapItem::paint() は QPixmap 全体を強制的に再ペイントする必要があるため、サブクラスでこのペイント() メソッドを再実装しても、 QPixmap を部分的にしか更新しないため、QPixmap への小さな (ローカルの) 更新が容認できないほど遅くなります。
このようなサブクラスは次のようになります。
別のオプションは、QGraphicsPixmapItem の「内部 QPixmap」を保持し、次のように QImage を部分的に描画することです。
それを修正するためにピックスマップを設定する必要があることを考えると、初期化で何らかの形で設定されていないと想定したため、前述の行のコメントを外すことは良い考えのように思えました。残念ながら、drawImage() 呼び出しは次のように segfault します。
QPaintDevice: ペイント中のペイント デバイスを破棄できません
「item.setPixmap(&pixmap);」に代わるものを用意したいと思います。これは、全体を再描画するわけではありませんが、うまく機能します。どんな入力でも大歓迎です:)
c++ - 高速 QPixmap スケーリング
キャンバスの高さが大きく、「通常の」幅 (1024x999999 など) のブラウザーのようなアプリケーションを開発しています。キャッシュされた 512 個のQPixmapブロック (1024x128) を使用して画像を表示し、それらを再利用して新しい描画領域を表示します。したがって、ユーザーが大きな画像の特定の領域をスクロールすると、CPU はビジーではなく、キャッシュされたブロックが使用されます。つまり、これが私のエンジンの仕組みです。
ズームを実装したい。不明 - スムーズまたは離散 (x2、x3、x4...)。パフォーマンスに関する質問:
- メモリをあまり割り当てずに、 paintEvent()でオンザフライでQPixmapをスケーリングする効果的な方法はありますか?
- または、さまざまなズーム倍率でズームされた画像をキャッシュする「ズームレイヤー」について考える必要がありますか? しかし、これではスムーズなズームができなくなります...
qt - qpixmapにバイナリする方法
バイナリを画像に変換するのは難しいと思います。ピックスマップを使用します。バイナリへの転送は正しいですが、このプログラムを使用して表示すると、実際には機能しません。
これは私のコードです:
すなわち
でもいつ
したがって、ピックスマップを使用すると、サイズが異なると配列[0]が異なるため、LEDの炎は2進数に対応しません。私のための簡単なコードはありますか?
c++ - 画像表示時の最小化/最大化時に縦横比を維持しますか?
画像の縦横比を保持するスケーラブルな画像ウィジェットを qt クリエーターで実装しようとしています。私が見つけたすべての例または投稿は、QLabel を拡張して resizeEvent を再実装することを提案しています。これは私が行ったことであり、ほとんど機能しますが、いくつかの問題があります。
メイン ウィンドウを最初に開くと、画像がわずかに大きくなり、メイン ウィンドウのサイズが大きくなります (これはそれほど大きな問題ではありません)。
ウィンドウを最大化するとすべての画像が拡大されますが、ウィンドウの最大化を解除すると画像が縮小されません。
QLabel サブクラス (ClickableImage と呼ばれる) と、ClickableImage を含むレイアウトを保持する親ウィジェットの両方の resizeEvents を変更しようとしました。関連するコードの一部を次に示します。
また、次のソースを読みました。
Qt:縦横比を維持しながら QPixmap を含む QLabel のサイズを変更する
https://docs.huihoo.com/qt/4.2/desktop-screenshot.html
ありがとう。
c++ - Qtで2つの異なる画像をブレンドする
私のプログラムは 3 つの異なる画像を生成し、いくつかの不透明度設定を使用してそれらを結合したいと考えています。
まず、生の画像を QPixmap に変換して QGraphicsView に表示します。
.
次に、この画像を使用して計算を行い、基本的なピクセル アクセスが必要なため、QImage を生成します。凡例も追加します。
.
私がやりたいのは、不透明度を変更しながら2つの画像をブレンドできるようにすることです。例を示すツールがありません。次のようになります。
しかし、最初の画像とデータ画像が不透明度でブレンドされています。また、凡例を 100% 表示したままにしたいと思います。必要に応じて、凡例用に別の QImage を作成できます。
また、白の代わりにどのピクセルを透明と見なす必要があるかを正確に知っています。
将来的にはスライダーだけで不透明度を調整したいので、毎回まったく新しい画像を計算する必要のない解決策があればいいと思います...
任意のリードをいただければ幸いです...