WPF-应用渲染变换后需要更新的多边形点值

时间:2019-01-30 11:58:55

标签: wpf graphics geometry polygon

我需要为在WPF中使用多边形创建的三角形的顶点添加标签,并且标签应根据三角形移动。我有顶点的初始点(0,0),(0,100)和(100,100),但应用渲染变换(旋转,缩放和平移)后它不会改变。 因此,请帮助我计算多边形的新坐标(在此示例中为三角形)。

<Window
    x:Class="WpfApp11.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApp11"
    mc:Ignorable="d"
    Title="MainWindow"
    Height="450"
    Width="800">
    <Grid>
        <Canvas>
            <Polygon
                Points="0,0 0,100 100,100"           
                Stroke="Black"
                StrokeThickness="1"
                RenderTransformOrigin="0.5,0.5">
                <Polygon.RenderTransform>
                    <TransformGroup>
                        <!--<ScaleTransform
                            ScaleX="5" />-->
                        <!--<TranslateTransform
                            X="20"
                            Y="20" />-->
                        <!--<RotateTransform
                            Angle="45" />-->
                    </TransformGroup>
                </Polygon.RenderTransform>
            </Polygon>
            <Label Canvas.Left="0" Canvas.Top="0" Content="V1" />
            <Label
                Canvas.Left="0"
                Canvas.Top="100"
                Content="V2" />
            <Label
                Canvas.Left="100"
                Canvas.Top="100"
                Content="V3" />
        </Canvas>

    </Grid>
</Window>

0 个答案:

没有答案