首页 > 编程语言 >C# 使用GDI 绘制三角形、圆形后并填充颜色

C# 使用GDI 绘制三角形、圆形后并填充颜色

时间:2024-03-28 20:30:08浏览次数:17  
标签:BoneAgePoint 填充 Point C# System AgeHeight GDI Drawing Math

C# 使用GDI 绘制三角形、圆形后并填充颜色

private void DrawBoneAgeAndAgeHeightPoint(Graphics g, System.Drawing.PointF AgeHeight_Point, System.Drawing.PointF BoneAgePoint)
{
    System.Drawing.SolidBrush innerBrush = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(255, 0, 0, 139));
    System.Drawing.Pen m_ControlPen = new System.Drawing.Pen(System.Drawing.Color.FromKnownColor(KnownColor.Blue));
    int Control_PointSize = 8;
    float bmd_Width = 4f;
    float r = 6f;
    
    //三角形
    if (BoneAgePoint.X != 0 && BoneAgePoint.Y != 0)
    {
        BoneAgePoint.X = BoneAgePoint.X ;
        BoneAgePoint.Y = BoneAgePoint.Y;
        PointF[] point = new PointF[3];
        for (int i = 0; i < 3; i++)
        {
            point[i] = new PointF((float)(r * Math.Cos((i * 2 * Math.PI / 3) - Math.PI / 2) + BoneAgePoint.X), (float)(r * Math.Sin(i * 2 * Math.PI / 3 - Math.PI / 2)) + BoneAgePoint.Y);
        }
        g.FillPolygon(innerBrush, point);
    }
    
    //圆形
    if (AgeHeight_Point.X != 0 && AgeHeight_Point.Y != 0)
    {
        AgeHeight_Point.X = AgeHeight_Point.X;
        AgeHeight_Point.Y = AgeHeight_Point.Y;
        g.DrawEllipse(m_ControlPen, AgeHeight_Point.X - bmd_Width, AgeHeight_Point.Y - bmd_Width, Control_PointSize, Control_PointSize);
        g.FillEllipse(innerBrush, AgeHeight_Point.X - bmd_Width, AgeHeight_Point.Y - bmd_Width, Control_PointSize, Control_PointSize);
    }
}

 

 

标签:BoneAgePoint,填充,Point,C#,System,AgeHeight,GDI,Drawing,Math
From: https://blog.csdn.net/wangnaisheng/article/details/137044428

相关文章

  • 分类任务中的评估指标:Accuracy、Precision、Recall、F1
    概念理解TPTPTP、......
  • 设计算法判断一棵树是否为完全二叉树--c++
    【题目要求】设计算法判断一棵树是否为完全二叉树。【提示】根据完全二叉树的定义可知:1)如果一个结点有右孩子而没有左孩子,那么这棵树一定不是完全二叉树。2)如果一个结点有左孩子,而没有右孩子,那么按照层序遍历的结果,这个结点之后的所有结点都是叶子结点,这棵树才是完全二叉......
  • flutter加载网络图片错误EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE The following
    在flutter里使用image.network加载网络图片遇到错误══╡EXCEPTIONCAUGHTBYIMAGERESOURCESERVICE╞════════════════════════════════════════════════════ThefollowingSocketExceptionwasthrownresolvingani......
  • React — 原理面试题-持续更新
    1.什么是React事件,什么是原生事件?两者的区别在哪儿?React事件:React事件是经过封装和合成的,以保证在不同浏览器上的一致性。在使用React中的事件处理时,你会给JSX元素添加事件处理函数,比如onClick、onChange等,然后在事件处理函数中处理相应的逻辑。React事件的处理方式......
  • 包机制、JavaDoc
    包机制*代表导入这个包下所有的类!JavaDocJava的api帮助文档:https://docs.oracle.com/javase/8/docs/api/index.html/***@authorxqstudy*@version1.0*@since3.28*/publicclassDoc{Stringname;/****@paramname*@retur......
  • 6.Hadoop MapReduce
    6.1编辑WordCount.java创建wordcount测试目录 编辑WordCount.java输入下面代码:可以访问https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html查看importjava.io.IOException;importjava.util.String......
  • Camera sensor bringup
    CameraSensorModule配置信息:CameraModuleConfiguration的信息包含在:<cameraModuleData>…</cameraModuleData>以vendor/qcom/proprietary/chi-cdk/oem/qcom/module/xxx_sunny_s5khm2_wide_module.xml 为例:各配置参数含义如下:参数名说明cameraId......
  • 每日面经分享(Spring Boot: part2 Service层)
    SpringBootService层的作用a.封装业务逻辑:Service层负责封装应用程序的业务逻辑。Service层是控制器(Controller)和数据访问对象(DAO)之间的中间层,负责处理业务规则和业务流程。通过将业务逻辑封装在Service层中,可以保持控制器的简洁性,提高代码的可维护性和可复用性。b.事......
  • Cookie和Session
    Cookie和Session1.Cookie和Session介绍1.1Cookie服务器保存在客户端浏览器上的信息都可以称之为cookie指代服务端让客户端保存的数据(存储在客户端上与用户信息相关的数据)它的表现形式一般都是k:v键值对(可以有多个)1.2Session保存在服务器上的信息都可以称之为sessi......
  • 重生前端之我在javascript敲代码(03-数组)
    一.数组(重点)思考:如何保存一个班级的所有学生的姓名?回答:一种方法利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。概念:数组是存储一系列值的变量集合,可以存储多个值。1.1语法数组构成:数组由一个或......