QImageとQPixmapの違いがわかりません。同じ機能を提供しているようです。QImageはいつ使用する必要があり、QPixmapはいつ使用する必要がありますか?
QImageとQPixmapの違いがわかりません。同じ機能を提供しているようです。QImageはいつ使用する必要があり、QPixmapはいつ使用する必要がありますか?
回答:
Easilly上のドキュメントを読むことで答えQImageのとQPixmapの:
QPixmapののクラスがあるオフスクリーン塗装装置として使用することができる画像表現。
QImageののクラスは、画素データに直接アクセスすることができ、塗料装置として使用することができるハードウェアに依存しない画像表現を提供します。
編集:また、@ Daveの答えから:
GUIスレッドの外部でQPixmapを操作することはできませんが、QImageにはそのような制限はありません。
そして@Arnoldから:
通常(常にではない)適用される短い要約を次に示します。
- 画像の操作、変更、ピクセルの変更などを計画している場合は、QImageを使用してください。
- 同じ画像を画面に複数回描画する場合は、QPixmapに変換してください。
Qt Labsには、Qtグラフィックシステムについて多くのことを説明する一連の素晴らしい記事があります。特にこの記事には、QImage
対に関するセクションがあります。QPixmap
。ます。
通常(常にではない)適用される短い要約を次に示します。
QImage
ます。QPixmap
。QPixmap
は「画像オブジェクト」であり、そのpixel
表現はコードに影響を与えません。したがって、QPixmapは表示画面に画像をレンダリングするように設計および最適化されており、X11を使用するとXServerに保存されるため、XWindowでのQPixmapの描画は描画よりもはるかに高速です。 QImages、データはすでにサーバー上にあり、使用する準備ができているため。
QPixmapを使用する場合:既存の画像(アイコン..背景など)を特に繰り返し描画する場合は、QPixmapを使用します。
QImageは、クライアントコードの「メモリ内のピクセルの配列」です。QImageは、I / O、および直接のピクセルアクセスと操作用に設計および最適化されています。
QImageを使用する場合:Qpaintを使用して描画したり、画像のピクセルを操作したりする場合。
QBitmapは、深さ1を保証する便利なQPixmapサブクラスであり、モノクロ(1ビットの深さ)のピックスマップです。QPixmapと同様に、QBitmapは暗黙的なデータ共有の使用に最適化されています。