シェイプ (下の赤いパス) があり、このパスにTranslateTransformとScaleTransform変換を適用する必要があります。しかし、この方法でShape RenderTransformプロパティを使用すると:
Path MyPath = new Path { Fill = new SolidColorBrush(Colors.Red) };
MyPath.Data = MyPathGeometry;
TransformGroup transf = new TransformGroup();
transf.Children.Add(new TranslateTransform(50, 50));
transf.Children.Add(new ScaleTransform(2, 2));
MyPath.RenderTransform = transf;
このタイプの図面を取得します。
代わりに、次のようにDrawingContext PushTransformメソッドを使用すると:
DrawingVisual MyPath = new DrawingVisual();
using (DrawingContext context = MyPath.RenderOpen()) {
context.PushTransform(new TranslateTransform(50, 50));
context.PushTransform(new ScaleTransform(2, 2));
context.DrawGeometry(Brushes.Red, null, MyPathGeometry);
}
このタイプの図面を取得します。
2 つのパスが異なる方法で配置されているのはなぜですか? PushTransform と RenderTransform の使用の違いは何ですか? 両方のケースで同じ結果を得るにはどうすればよいですか? ありがとう。