2

私はQtにかなり慣れておらず、たくさんの読書や練習問題をやっています。私はこれをかなり検索しましたが、例を見つけることができませんでした。

.png画像をロードするQPixmapオブジェクトがあります。ダークマスクを適用して、このQPixmapのコピーを作成する必要があります。

基本的に、このQPixmapの画像は、不透明度が50%に設定された黒一色のレイヤーで覆われるようにします。

QPixmapの画像の不透明度を設定する方法は知っていますが、不透明度のある黒一色のレイヤーを追加するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

6

QPainterとあなたを半透明QBrushにして、その暗いレイヤーをにペイントすることができますQPixmap

pic画像が読み込まれていると仮定QPixmapします。

QPainter p(&pic);
QBrush b(QColor(0,0,0,128)); // adjust color and alpha to taste
p.setBrush(b);
p.drawRect(0, 0, 200, 200);

効果(前/後):

ここに画像の説明を入力してください    vs    ここに画像の説明を入力してください

不透明な黒い境界線は、ペイントする前に半透明のペンを設定することで削除できます。
オリジナルを保持したい場合は、「マスク」を適用する前にピックスマップをコピーしてください。

于 2012-12-29T17:25:32.877 に答える