我正在使用 Qt 绘制一些看起来像管道的东西,它可以使用 QPainterPath 弯曲和弧线。我使用 QLinearGradient 填充管道,以使其具有三维外观。我不知道如何弯曲/弧形管道并使渐变遵循相同的曲线,以便保持 3D 效果。有什么想法吗?
换句话说,QGradient 上的色标需要随着路径中的曲线旋转。
我正在使用 Qt 绘制一些看起来像管道的东西,它可以使用 QPainterPath 弯曲和弧线。我使用 QLinearGradient 填充管道,以使其具有三维外观。我不知道如何弯曲/弧形管道并使渐变遵循相同的曲线,以便保持 3D 效果。有什么想法吗?
换句话说,QGradient 上的色标需要随着路径中的曲线旋转。
据我从 qt示例中可以看出,填充路径的渐变都是相同的。因此,您定义了一个漂亮的渐变,而不是路径,并使用如下代码将渐变添加到所有形状:
QLinearGradient myGradient;
QPen myPen;
QPainterPath myPath;
myPath.cubicTo(c1, c2, endPoint);
QPainter painter(this);
painter.setBrush(myGradient);
painter.setPen(myPen);
painter.drawPath(myPath);
最难的部分是定义一个移动顺畅的管道......你能分享你的代码,以便我们看到你的问题吗?