我必须在 Qt C++ 中绘制一个锥形渐变,但我不能使用 QConicalGradient。我确实有一个线性渐变,但我不知道如何制作一个锥形渐变。我不想要完成的代码,但我要求一个简单的算法。
for(int y = 0; y < image.height(); y++){
QRgb *line = (QRgb *)image.scanLine(y);
for(int x = 0; x < image.width(); x++){
QPoint currentPoint(x, y);
QPoint relativeToCenter = currentPoint - centerPoint;
float angle = atan2(relativeToCenter.y(), relativeToCenter.x);
// I have a problem in this line because I don't know how to set a color:
float hue = map(-M_PI, angle, M_PI, 0, 255);
line[x] = (red << 16) + (grn << 8) + blue;
}
}
你能帮助我吗?