0

私は次のような角度を適用することができます

double angle = 30;
Rectangle r = new Rectangle();
r.Width = 5;
r.Height = 130;
r.Fill = Brushes.Black;
r.RenderTransform = new RotateTransform(angle);
canvas1.Children.Add(r);

しかし、角度の値を取り戻す方法がわかりませんか ?

4

3 に答える 3

1

回転変換を保存して、後でアクセスできます。

RotateTransform rTransform = new RotateTransform(angle);
...
var temp = rTransform.Angle;
于 2013-02-04T17:29:52.457 に答える
1

RenderTransform要素を にキャストし、(キャストが成功した場合)プロパティRotateTransformから角度値を取得することをいつでも試みることができます。Angle

var element = canvas1.Children[0];
var transform = element.RenderTransform as RotateTransform;
var angle = transform != null ? transform.Angle : 0.0;
于 2013-02-04T17:49:40.697 に答える
0

変換は3x3行列です。ここで回転固有のビットについて読むことができます

プロパティを使用してマトリックスにアクセスできますRenderTransform.Value(以前に理論化されたように、コードを頭の後ろに差し込むことによってではありません)

、、、および値を使用Matrix.M11して角度を計算してください。Matrix.M12Matrix.M21Matrix.M22

于 2013-02-04T17:35:59.093 に答える