如何在圆角矩形或圆形内部绘制图像

How to draw an image inside Rounded Rectangle or inside a shape like circle?

本文关键字:内部 绘制 图像 圆角      更新时间:2023-10-16

我是QT的新手,我想在一个形状内部绘制一些图像,图像应该被一个形状裁剪。例如,我使用以下代码绘制一个矩形。如何只在形状内部绘制图像?

   QPen pen(Qt::black,penWidth);
   pen.setStyle(Qt::DashLine);
   QPicture picture;
   picture.load("drawing.pic"); 

   painter->setPen(pen);
   painter->drawPicture(0,0, picture);
   painter->drawRoundedRect( (QRectF(x, y, height, width),radius,radius);

PS。我可以加载图像进行笔刷吗?

只需为painter设置一个QBrush。

 QBrush brush(QPixmap("file.png"));
 painter->setBrush(brush);

它将绘制用file.png图像填充的圆角矩形。