• WPF 控件专题 Ellipse详解


     1、Ellipse介绍

        绘制椭圆;作用域为:System.Windows.Shapes;继承Shape。

        Shape的继承链关系:

    **************************************************************************************************************

    2、Ellipse常用属性
        Width/Height:宽度/高度。
        
        Fill:Brush对象,填充画刷,给绘制的形状内部填充画刷(颜色)   
        
        RenderedGeometry: 获取一个表示最终呈现的形状的System.Windows.Media.Geometry 对象。
        
        RenderTransform:获取或设置影响此元素的呈现位置的转换信息,翻转设置。
        
        RenderTransformOrigin:获取或设置由RenderTransform声明的任何可能呈现转换的中心点,相对于元素的边界。
        
        Stretch:获取或设置Stretch枚举值,该值描述形状如何填充为其分配的空间。

        Stroke:Brush对象,用于指定Shape边框绘制的方式,又可以理解为边框画刷,给绘制的形状轮廓加上画刷(颜色)

        StrokeThickness:获取或设置Shape边框的宽度。

    **************************************************************************************************************

    3、具体示例

        后台创建椭圆代码如下

    1. myEllipse = new Ellipse();
    2. myEllipse.Stroke = System.Windows.Media.Brushes.Black;
    3. myEllipse.Fill = System.Windows.Media.Brushes.DarkBlue;
    4. myEllipse.HorizontalAlignment = HorizontalAlignment.Left;
    5. myEllipse.VerticalAlignment = VerticalAlignment.Center;
    6. myEllipse.Width = 50;
    7. myEllipse.Height = 75;
    8. myGrid.Children.Add(myEllipse);

        XAML设置椭圆

    1. <WrapPanel x:Name="myGrid">
    2. <Ellipse Margin="10" Width="100" Height="100" HorizontalAlignment="Left" VerticalAlignment="Center" Fill="Teal"
    3. Stroke="Red" StrokeThickness="2"/>
    4. <Ellipse Margin="10" Width="100" Height="60" HorizontalAlignment="Center" VerticalAlignment="Center" Fill="Teal"
    5. Stroke="Red" StrokeThickness="2" />
    6. <Ellipse Margin="10" StrokeThickness="10" Width="100" Height="100">
    7. <Ellipse.Stroke>
    8. <LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
    9. <GradientStop Color="YellowGreen" Offset="1.5"/>
    10. LinearGradientBrush>
    11. Ellipse.Stroke>
    12. Ellipse>
    13. <Ellipse Margin="10" Width="100" Height="100">
    14. <Ellipse.Fill>
    15. <LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
    16. <GradientStop Color="#11fd62" Offset="0.1"/>
    17. <GradientStop Color="#ff7788" Offset="0.4"/>
    18. <GradientStop Color="#99ff88" Offset="0.6"/>
    19. <GradientStop Color="#778899" Offset="0.8"/>
    20. LinearGradientBrush>
    21. Ellipse.Fill>
    22. Ellipse>
    23. <Ellipse Width="100" Height="100" Margin="10" Fill="Transparent" Stroke="OrangeRed" StrokeDashArray="5"/>
    24. <Path Stroke ="OrangeRed" StrokeThickness ="4">
    25. <Path.Data>
    26. <EllipseGeometry RadiusX="50" RadiusY="50" Center="50 50"/>
    27. Path.Data>
    28. WrapPanel>

    **************************************************************************************************************

    4、运行效果图

    **************************************************************************************************************

    5、总结和扩展

        Ellipse多用于后台绘制,对图像标记区域等。

    **************************************************************************************************************

  • 相关阅读:
    力扣:128. 最长连续序列(Python3)
    2022搜狐校园NLP算法大赛情感分析第一名方案理解和复现
    OncoGPT1:肿瘤学领域大模型
    最近在看抖音推文
    (十四)51单片机——LCD1602实现滚动效果
    开源向量数据库比较:Chroma, Milvus, Faiss,Weaviate
    Leetcode 2895. Minimum Processing Time
    ATF官方文档翻译(二):Authentication Framework & Chain of Trust(身份验证框架和信任链)(2)
    vue项目首屏加载优化--gzip
    基于SSM的医院预约挂号管理系统
  • 原文地址:https://blog.csdn.net/BYH371256/article/details/125345247