C# Winform图形绘制

        WinForms 应用程序中的控件是基于窗体的,当控件需要重绘时,它会向父窗体发送一个消息请求重绘。但是,控件本身并不直接处理绘制命令,所以你不能直接在控件上绘制图形。

解决方法:

  • 重写控件的OnPaint方法
  • 使用CreateGraphics方法

绘制直线:

//绘制线条,线条为虚线,虚线之间的间隔为3像素
Pen pen = new Pen(new SolidBrush(Color.Blue), 2);
pen.DashStyle = DashStyle.Solid;
e.Graphics.DrawLine(pen, 35, 24, 100, 60);

绘制椭圆,圆形:

//绘制椭圆,设置椭圆的大小和位置
Rectangle rect = new Rectangle(50, 50, 120, 100);
// 绘制椭圆边框
e.Graphics.DrawEllipse(Pens.Green, rect);

绘制扇形并填充:

//填充扇形
// 设置弧线的起点和终点
int x = 50;
int y = 50;
int width = 100;
int height = 50;
// 设置弧线的起始角度和角度范围(顺时针方向)
int startAngle = 0;
int sweepAngle = 90;
e.Graphics.FillPie(Brushes.LightBlue, x, y, width, height, startAngle, sweepAngle);

绘制弧线:

// 绘制弧线
// 设置弧线的起点和终点
int x1 = 100;
int y1 = 100;
int width1 = 80;
int height1 = 100;
// 设置弧线的起始角度和角度范围(顺时针方向)
float startAngle1 = -180;
float sweepAngle1 = 90;
e.Graphics.DrawArc(Pens.Black, x1, y1, width1, height1, startAngle1, sweepAngle1);

绘制多边形:

//绘制多边形
Color color = System.Drawing.Color.Red;
Brush brushes = new SolidBrush(color);
Point[] point = new Point[3];
point[0] = new Point(10, 10);
point[1] = new Point(40, 20);
point[2] = new Point(34, 30);
e.Graphics.FillPolygon(brushes, point);

实例代码:

https://download.csdn.net/download/lvxingzhe3/89420813

参考:

C# Winform GDI+ 绘图_c# 画图-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/717953.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网站改成HTTPS方法

网站改成HTTPS只要网站没有特殊性的要求,绝大部分网站很轻松的就可以完成,尤其是CMS类似的网站系统或者自助搭建的网站(比如:这种网站可以在网站后台一次性安装并且生效)。 基本要求 将网站改成HTTPS有2个前提&#…

MMpose安装实例

摘要: 这个大数据训练发展较快,各种版本问题,不太好匹配,仅是安装就会大费周章。本文图文并茂的描述了一种成功的安装方式。仅供参考。 使用的win版本是win11,英伟达显卡是GeForce GTX 1660 SUPER。 1.cuda版本选择 通…

FFmpeg中内存分配和释放相关的源码:av_malloc函数、av_mallocz函数、av_free函数和av_freep函数分析

一、av_malloc函数分析 (一)av_malloc函数的声明 av_malloc函数的声明放在在FFmpeg源码(本文演示用的FFmpeg源码版本为5.0.3,该ffmpeg在CentOS 7.5上通过10.2.1版本的gcc编译)的头文件libavutil/mem.h中:…

cve_2014_3120-Elasticsearch-rce-vulfocus靶场

1.背景 来源:ElasticSearch(CVE-2014-3120)命令执行漏洞复现_mvel 漏洞-CSDN博客 参考:https://www.cnblogs.com/huangxiaosan/p/14398307.html 老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复…

万字长文详述 - 带你了解Jvm虚拟机运行时数据区

JVM虚拟机,对大部分Java程序员而言,是既熟悉又陌生的存在,Java程序在虚拟机的自动内存管理机制帮助下,减少了绝大部分的内存管理工作。但也正是因为如此,虚拟机如果出现了内存溢出或者泄露的情况,问题排查、…

基于YOLOv8m的船舶检测(附数据集和Coovally操作步骤)

本文主要内容:详细介绍了船舶检测整个过程,从创建数据集到训练模型再到预测结果全部可视化操作与分析。 文末有数据集获取方式,请先看检测效果 现状 船舶检测和识别是一项重要的任务,它涉及到航运安全、港口管理、海洋保护等方面&#xff0c…

YOLOv10涨点改进轻量化双卷积DualConv,完成涨点且计算量和参数量显著下降

本文独家改进:双卷积由组卷积和异构卷积组成,执行3x3 和 1x1 卷积运算Q代替其他卷积核仅执行 1x1 卷积。 DualIConv 显着降低了深度神经网络的计算成本和参数数量,同时在某些情况下令人惊讶地实现了比原始模型略高的精度。 我们使用 DualConv 将轻量级 MobileNetV2 的参数数量…

JavaEE、SSM基础框架、JavaWeb、MVC(认识)

目录 一、引言 (0)简要介绍 (1)主要涉及的学习内容 (2)学习的必要性 (3)适用学习的人群(最好有这个部分的知识基础) (4)这个基础…

代码随想录——电话号码的字母组合(Leetcode17)

题目链接 回溯 class Solution {List<String> res new ArrayList<String>();StringBuilder str new StringBuilder();HashMap<String, String> Sites new HashMap<String, String>();public List<String> letterCombinations(String digit…

经验分享,xps格式转成pdf格式

XPS 是一种电子文档格式、后台打印文件格式和页面描述语言。有时候微软默认打印机保存的是xps格式&#xff0c;我们如何转换为pdf格式呢&#xff0c;这里分享一个免费好用的网站&#xff0c;可以实现。 网站&#xff1a;https://xpstopdf.com/zh/ 截图&#xff1a;

CAS Apereo 5.3.16 实现单点登录

1.CAS部署 服务端下载地址:cas5.3 1.下载好打开后,复制target/cas/WEB-INF/classes/META-INF/spring.factories target/cas/WEB-INF/classes/services下的Apereo-10000002.json和HTTPSandIMAPS-10000001.json target/cas/WEB-INF/classes下的application.properties和log4j…

访问jlesage/firefox镜像创建的容器中文乱码问题

目录 介绍总结 介绍 最近在使用jlesage/firefox镜像创建容器的时候&#xff0c;发现远程管理家里网络的时候中文会出现乱码&#xff0c;导致整个体验非常的不好&#xff0c;网上查找资料说只要设置环境变量ENABLE_CJK_FONT1 就可以解决问题&#xff0c;抱着试一试的态度还真的成…

苏州辰安塑业携塑料托盘、塑料物流箱解决方案亮相2024杭州快递物流展

苏州辰安塑业携塑料托盘、吹塑托盘、塑料卡板箱、塑料周转箱、塑料物流箱、塑料垃圾桶解决方案盛装亮相2024杭州快递物流展&#xff01; 展位号&#xff1a;3C馆A51 苏州辰安塑业有限公司&#xff0c;是一家专业从事塑料托盘、吹塑托盘、塑料卡板箱、塑料周转箱、塑料物流箱、…

北京十大金牌律师事务所(2024年权威高胜诉率推荐)

律师职业本身&#xff0c;是一个看起来很美、说起来很烦、听起来很阔、做起来很难的职业。所谓术业有专攻&#xff0c;律师的专业就是解决法律纠纷&#xff0c;负责为个人和组织提供法律咨询和代理法律服务。律师在执行其职责时需要遵守道德准则和法律规定&#xff0c;并以客户…

Compose 可组合项 - DatePicker、DatePickerDialog

一、概念 一般是以对话框的形式呼出&#xff0c;DatePickerDialog 就是对 DatePicker 的一个简单对话框封装。 Composable fun DatePicker( state: DatePickerState, modifier: Modifier Modifier, dateFormatter: DatePickerFormatter remember { DatePickerFor…

JSR303校验

校验的需求 前端请求后端接口传输参数&#xff0c;需要校验参数。 在controller中需要校验参数的合法性&#xff0c;包括&#xff1a;必填项校验、数据格式校验等在service中需要校验业务规则&#xff0c;比如&#xff1a;课程已经审核过了&#xff0c;所以提交失败。 servi…

面料识别技术:AI如何提升服装行业的效率与创新

面料识别技术&#xff1a;AI如何提升服装行业的效率与创新 随着人工智能技术的飞速发展&#xff0c;AI大模型在各个领域都展现出了其强大的应用潜力。特别是在服装行业&#xff0c;AI大模型的图片识别技术正在成为面料识别和设计创新的重要工具。本文将探讨AI大模型在服装行业…

vivado PIN

描述 引脚是基元或层次单元上的逻辑连接点。引脚允许 要抽象掉单元格的内容&#xff0c;并简化逻辑以便于使用。引脚可以 是标量的&#xff0c;包含单个连接&#xff0c;或者可以定义为对多个进行分组的总线引脚 信号在一起。 相关对象 引脚连接到一个单元&#xff0c;并且可以…

羊城杯 2020 a_piece_of_java

考点:JDBC反序列化打CC链动态代理类触发readobject 一眼看过去 好像只有一个mysql-connector-java 可以利用jdbc 可能的攻击路径就有1) Mysql服务器任意文件读取 2) JDBC反序列化打依赖链 出现了一个不常见的依赖库 serialkiller 做了反序列化的过滤器 可以尝试查看其源码 htt…

LabVIEW盾构机状态监测

随着城市化的加速&#xff0c;地铁成为了城市交通的重要组成部分。为了保障地铁施工安全和效率&#xff0c;提出了一种基于LabVIEW的地铁施工盾构异常状态监测方法。该方法利用LabVIEW软件进行数据采集和处理&#xff0c;通过异常监测技术实时监控盾构机的运行状态&#xff0c;…