6

私のプログラムは 3 つの異なる画像を生成し、いくつかの不透明度設定を使用してそれらを結合したいと考えています。

まず、生の画像を QPixmap に変換して QGraphicsView に表示します。

最初の画像.

次に、この画像を使用して計算を行い、基本的なピクセル アクセスが必要なため、QImage を生成します。凡例も追加します。

2 番目の画像.

私がやりたいのは、不透明度を変更しながら2つの画像をブレンドできるようにすることです。例を示すツールがありません。次のようになります。

3 番目の画像

しかし、最初の画像とデータ画像が不透明度でブレンドされています。また、凡例を 100% 表示したままにしたいと思います。必要に応じて、凡例用に別の QImage を作成できます。

また、白の代わりにどのピクセルを透明と見なす必要があるかを正確に知っています。

将来的にはスライダーだけで不透明度を調整したいので、毎回まったく新しい画像を計算する必要のない解決策があればいいと思います...

任意のリードをいただければ幸いです...

4

2 に答える 2

3

QGraphicsPixmapItem :: setOpacityを使用して、オーバーレイ画像のアルファブレンド値を0.0 ... 1.0の範囲に設定し、背景と前景に別々のグラフィックアイテムを設定できます。

ブレンドされた画像を使用して実際にピックスマップを生成する必要がある場合は、ピックスマップを描画する前に、QPainterでsetOpacityを使用できます。

于 2012-06-20T15:28:30.177 に答える
0

アルファチャネルをサポートするQImageタイプがありますQImage::Format_ARGB32_Premultipliedは、アルファによって制御される不透明度で2つの画像を表示します-2つのQImageを互いに重ねて描画するだけです

ただし、事前に乗算されているため、Aを変更する場合はすべてのピクセルを調整する必要があります

于 2012-06-20T15:20:24.580 に答える