2011-11-23 16 views
5

Pracuję w stosie WPF i chciałbym móc uzyskać MatrixTransform dla każdej transformacji. Zgodnie z linkiem here, nie wydaje się, że MatrixTransform jest klasą podstawową, ale raczej rodzeństwem dla innych typów Transform. Jednak wszystkie normalne transformacje grafiki powinny sprowadzać się do MatrixTransform. Czy są na to jakieś skróty? Być może coś w rodzaju ukrytych operatorów obsady, aby przenieść transformację do MatrixTransform?Uzyskiwanie MatrixTransform dla każdej transformacji

Odpowiedz

7

Podstawową klasą TranslateTransform, MatrixTransform itd. Jest klasa abstrakcyjna Transform.

Klasa Transform udostępnia właściwość Value typu Matrix. Klasa MatrixTransform ma konstruktora, który pobiera Matrix. Tak, aby uzyskać ogólny MatrixTransform odpowiadający istniejącym LayoutTransform z FrameworkElement można użyć kodu:

var transform = new MatrixTransform(element.LayoutTransform.Value); 
+0

Znakomity! Tego właśnie szukałem. –

+1

GeneralTransform nie ma właściwości Value. – wishmaster35

Powiązane problemy