2011-07-14 47 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紋理。上面的代碼將填充整個矩形的整個紋理。有沒有簡單的方法來繪製此紋理的單個實例? QBrush的使用是至關重要的。

理論上,我可以重新加載QPainter的每個填充和繪製方法,它將QBrush作爲輸入並使用

QPainter.drawImage()
方法,但我認爲必須有一個更簡單的方法。

謝謝,託尼。

回答

0

我不認爲有(見Qt::BrushStyle - 唯一的紋理瓷磚樣式),它不會真正使敏感國際海事組織。如果您只想要一張圖片,請按照您的說法使用drawImage函數。

(其中一個與不平鋪的問題是:你是什麼填充矩形其餘什麼也沒有一些默認的背景顏色一些其他QBrush屬性????)

+0

呀,矩形的休息贏得」一點都不填。我想在GDI +中實現與[WrapModeClamp](http://msdn.microsoft.com/en-us/library/ms534407(v = vs.85).aspx)相同的結果。 – Tony