2013-07-16 195 views
0

我可以畫一個QPixmap就好:將QPixmap繪製成圓形?

QPainter painter; 
painter.drawPixmap(x, y, w, h, my_pixmap); 

而且我也可以畫一個圓圈:

painter.drawArc(x, y, w, h, a, alen); 

現在,我想這兩個結合起來;我的像素圖可能並不總是一個圓圈(=透明的角落),所以我不能只在屏幕上繪製整個像素圖。 這意味着我只需要繪製我的像素圖的中心。

下面是一個圖像,使之更加明確:

camel

這可能嗎?

回答

5

是的,你應該可以通過在畫家上設置一個剪輯路徑來做到這一點。像這樣的東西應該工作:

QPainterPath path; 
path.addEllipse(x, y, w, h); 
painter.setClipPath(path); 
painter.drawPixmap(x, y, w, h, my_pixmap);