私はアプリケーションをAndroidに移植していますが、正確にはandroidの場合はmonoを移植していますが、canvas.DrawCircle
(またはDrawArcまたはDrawOval)は実際には真の円を描画しないことがわかりました。円の周りのポイントで、1/8回転の倍数で、描画された円は円の真の半径を超えて伸びます。
どうもありがとうございましたので、実際の画像へのリンクはこちらです。
スクリーンショットは円を示しています。緑の線が引かれた緑の点は、以下を使用して円の原点を中心に特定の角度で描かれた点です。
for (float i = 0; i < 360; i += 11.25F)
{
float x = circleOriginX + (float)Math.Cos(i * Math.PI / 180F) * circleRadius;
float y = circleOriginY + (float)Math.Sin(i * Math.PI / 180F) * circleRadius;
canvas.DrawLine(x, 0, x, viewH, p);
canvas.DrawLine(0, y, viewW, y, p);
canvas.DrawCircle(x, y, 2, p);
}
問題は、私が本当に本当に円である必要があるということです。
本当の円を描く方法について誰か提案がありますか?