2011-07-14 8 views
0

テクスチャ付きのQBrushを使用すると、タイルを取り除く簡単な方法はありますか?タイル張りのないQBrushテクスチャ

QImage* texture = CreateQImage();  // create texture 
QBrush* brush = new QBrush(*texture); // create texture brush 
QPainter* painter = CreateQPainter();  // create painter 

painter->fillRectangle(0, 0, 500, 500, *brush); 

サイズが20x20ピクセルのQImageテクスチャがあるとします。上のコードは、このテクスチャを塗りつぶす矩形全体に塗りつぶします。このテクスチャの1つのインスタンスだけを簡単に描画する方法はありますか? QBrushの使用は非常に重要です。

理論的には、QBrushを入力として使用して

QPainter.drawImage()
メソッドを使用するQPainterのすべての塗りつぶしと描画メソッドをリロードすることができましたが、単純な方法が必要です。

ありがとう、トニー。

答えて

0

テクスチャが付いている唯一のスタイル(Qt::BrushStyleを参照)がありますが、それは本当に感覚的なIMOを作成しませんでした。 1つの画像だけが必要な場合は、前述のようにdrawImage関数を使用してください。

(タイリングではないとの問題の一つは次のとおりです。???何を何もして、長方形の残りの部分を記入しないいくつかのデフォルトの背景色を他のいくつかのQBrush属性?)

+0

うん、長方形の残りの部分は」勝ちましたまったく満たされません。 GDI +で[WrapModeClamp](http://msdn.microsoft.com/en-us/library/ms534407(v = vs.85).aspx)と同じ結果を得たいと思います。 – Tony

関連する問題