• 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多用于后台绘制,对图像标记区域等。

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

  • 相关阅读:
    使用正则表达式解析网页
    如何比较两个对象以确定第一个对象包含与JavaScript中的第二个对象等效的属性值?
    把数字字符串倒序
    RabbitMQ原理详解
    IDEA问题解决:pom跟external librarie依赖版本不一致
    机器人过程自动化(RPA)入门 8. 异常处理、调试和日志记录
    计网面试复习自用
    暑假加餐|有钱人和你想的不一样(第17天)+高比例风电电力系统储能运行及配置分析(Matlab代码实现)
    库存管理“智慧官”上线!北京电信基于飞桨打造主动型库存决策分析系统
    艾美捷ProSci丨ProSci 凋亡抑制蛋白检测套装解决方案
  • 原文地址:https://blog.csdn.net/BYH371256/article/details/125345247