2017-01-20 19 views
1

私はこれを試してみた:Qtの画像で矩形(Rectオブジェクト)を塗りつぶす方法は?

QBrush brush(QPixmap(":/new/prefix1/car.jpg")); 
painter.setBrush(brush); 
QRectF car(positions[i],120, 20, 10); 
painter.drawRect(car); 

これは、画像を示すが、それはQPaintでシミュレーション中に繰り返されます。 私は、画像で矩形を塗りつぶす方法を欲しがっていますが、私はRectのための特定のメソッドを見つけていません。それのためのどんなトリックですか?

+2

は、なぜあなたは[ 'drawPixmap()'](httpsを使用しないでください:ピックスマップがペイントされるにQPixmapのとQRect両方を取るオーバーロードされた関数は、あります。 qt.io/qt-5/qpainter.html#drawPixmap)?これは 'QRectF'にピクスマップを描画させます。 'drawRect'は現在のブラシを使用して矩形を描画し、ブラシのテクスチャは描画するピクスマップに設定されているので、ピクスマップは矩形内で繰り返されます。 – Mike

+0

「QRectF」の具体的な方法はありません。結局のところ、['QRectF'](https://doc.qt.io/qt-5/qrectf.html#details)は、プレーンの矩形を定義するだけで、左上隅とサイズで構成され、通常は、特定のペイントデバイスで描画が必要な座標を定義するためにのみ使用されます。 – Mike

答えて

関連する問題