drawLine()関数が影響するポイント/座標のリストを取得するにはどうすればよいですか?たとえば、私が持っている場合
QLineF line(10.0, 80.0, 90.0, 20.0);
QPainter(this);
painter.drawLine(line);
drawLine()が描画するQPoint座標のリストを取得したいと思います。私はブレゼンハムのラインアルゴリズムを知っていますが、異なるQPenとQBrushを設定できるより一般的なケースで機能するためにこれが必要です。
painter.setPen(QPen(myColor, myWidth, Qt::SolidLine, Qt::RoundCap));
また、同じエンドポイントとパラメーターで線を描画する可能性があるが、Qtがない他のプログラムと一貫性を保つ必要があるため、同じ結果になり、1つずつ違いがないようにします。
注:これはこの質問とは異なります。ポリゴン/パスの頂点だけでなく、描画関数の影響を受けるすべてのピクセルが必要だからです。
更新:QImageまたはQPainterDeviceとQPaintEngineをサブクラス化して、すべての「setPixel()」操作をキャッチすることは可能だと思います。誰かが他の方法で証明したり確認したり、それを行うための短いコードを書いたりすることはできますか?