2

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;
    }
}

手伝って頂けますか?

4

1 に答える 1