私はクラスClass1:PanelでOnPaintメソッドを使用しています。四角形を回転させて描画するC#グラフィックスの奇妙な回転
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
}
私は
Matrix m = new Matrix();
m.RotateAt(90, rotationPoint);
g.Transform = m;
g.FillRectangle(Brushes.Black, rectangle)
を使用しています問題は、私はそれがしたいように、回転が働いていないこと、です。
赤の広場回転ポイントで、それは長方形の真ん中トップに位置しています。どのように回転が正しく動作するようにx、y、回転ポイントを設定するには?
90 degressで回転した後に、同じ位置のままである。この
赤色画素ようになります。
だから、何* *それが回転した後のように見えるのでしょうか? –
Marceloは言ったように...そしてあなたはどのようにrotationPointを設定していますか? –
回転後、赤い点が四角形の外側にあります。私は回転点を新しいPointF(x-(rectangleWidth/2)、y)として設定しています。ここでxとyは赤色ピクセルの座標です – tommy