Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一个圆和一条半径为56的线_C#_Wpf_Drawing_Line_Geometry - Fatal编程技术网

C# 一个圆和一条半径为56的线

C# 一个圆和一条半径为56的线,c#,wpf,drawing,line,geometry,C#,Wpf,Drawing,Line,Geometry,如何在圆内画线,线只在圆内可见,我需要控制线的角度。让我们说一个圆圈,在里面画一条线,天使56。如何在C#WPF中实现这一点。如果您阅读了相应的概述,您应该能够管理:&只需在面板中放置一个椭圆和一条线,让它们相互重叠(如网格),并根据需要调整参数 <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.LayoutTransform> <RotateTransf

如何在圆内画线,线只在圆内可见,我需要控制线的角度。让我们说一个圆圈,在里面画一条线,天使56。如何在C#WPF中实现这一点。

如果您阅读了相应的概述,您应该能够管理:&

只需在面板中放置一个
椭圆和一条
线,让它们相互重叠(如网格),并根据需要调整参数

<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
    <Grid.LayoutTransform>
        <RotateTransform  Angle="56" CenterX="28" CenterY="28"/>
    </Grid.LayoutTransform>
    <Ellipse Height="56" Width="56" Stroke="Red" StrokeThickness="2" />
    <Line X1="1" X2="55" Y1="28" Y2="28" Stroke="Red" StrokeThickness="2" />
</Grid>


如果要在XAML中执行此操作,请按以下方式执行:

 <Line X1="1" X2="55" Y1="28" Y2="28" Stroke="Red" StrokeThickness="2"  >
        <Line.LayoutTransform>
            <RotateTransform  Angle="56" CenterX="50" CenterY="50"/>
        </Line.LayoutTransform>
 </Line>


我有一个错误,我的意思不是圆的半径56,而是线的角度56。我的错误。@IvanTanasijevic在这种情况下,只需对整个网格应用布局变换,将其旋转到您想要的任何角度(请参见更新以回答)。参数不正确。渲染线没有穿过圆的中间。你是对的,我没有正确设置偏移,抱歉。无论如何,你的方式很好,所以我不会更新我的源代码;)公平地说,我忘记了布局变换,正准备计算出这行的数学,直到看到你的答案,所以+1;)