2013-07-16 151 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);