1、问题描述

c#中,希望用鼠标点击事件,实现多边形的绘制;

2、解决思路

a、创建一个链表,将鼠标左键选中的点存储到链表中;

b、根据链表中的值,利用c#的DrawPolygon()函数绘制;

3、核心代码

        List<Point> polyPoints = null;bool cliceMenu = true;private void pictureBox1_MouseDown(object sender, MouseEventArgs e){if (cliceMenu){if (e.Button == MouseButtons.Left){if (polyPoints == null) polyPoints = new List<Point>();polyPoints.Add(e.Location);}else if (e.Button == MouseButtons.Right&&polyPoints!=null){//Pen pen = new Pen(Color.Red, 3);//这个是在picturebox控件中创建的图形using (var g = pictureBox1.CreateGraphics()){g.SmoothingMode = SmoothingMode.AntiAlias;g.Clear(pictureBox1.BackColor);//填充多边形//using (SolidBrush br = new SolidBrush(Color.FromArgb(100, Color.Yellow)))//{//    g.FillPolygon(br, polyPoints.ToArray());//}if (polyPoints.ToArray().Length >= 3){//绘制轮廓g.DrawPolygon(Pens.Red, polyPoints.ToArray());//绘制顶点foreach (Point p in polyPoints){g.FillEllipse(Brushes.Red, new Rectangle(p.X - 2, p.Y - 2, 4, 4));}}                       polyPoints = null;}}}}

参考:

1、C#如何利用鼠标绘制多边形

c# 通过鼠标点击绘制多边形相关推荐

  1. 利用鼠标点击绘制出三棱锥

    作者:feiquan出处:http://www.cnblogs.com/feiquan/ 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

  2. 可视化场景内任意绘制多边形并测量面积

    一般测量功能主要表现在两方面,一是测量距离,二是测量面积.面积的测量是根据鼠标绘制的范围,通过地理坐标系的转换而计算出实际面积大小,距离的测量是根据鼠标在地图上绘制的点,实时计算出两点之间的实际距离. ...

  3. Cesium 点击绘制线/折线(动态绘制线/折线)

    思路和之前做 Cesium 点击绘制多边形(动态绘制多边形) 一样的,点击查看 这里重点说一下: CallbackProperty是一个类,其值由回调函数延迟计算.也就是说它在不断地自我调用,每当其返 ...

  4. JS实现鼠标点击爱心绘制多边形每日一言功能

    本篇文章主要介绍我的个人博客 程序猿刘川枫 中页面使用的美化功能(基于JS实现): 1.鼠标点击出现不同颜色爱心特效 2.页面浮动多边形跟随鼠标移动 3.每日一言功能 1.鼠标点击出现爱心特效 经常在 ...

  5. 地图绘制边界。高德。PPMAP。 鼠标点击经纬度坐标 。地图图标点点击弹窗窗口。地图图标点点击事件。

    边界: == 第一种:绘制边界. 通过绘制多边形的API来绘制边界. 高德API:多边形 Polygon. 矢量图形-覆盖物-教程-地图 JS API | 高德地图API 将关键的边界轮廓 经纬度坐标 ...

  6. Qt 运用鼠标绘制多边形

    文章目录 Qt 鼠标绘制多边形 技术要点: 实现过程: Qt 鼠标绘制多边形 分析: Qt鼠标绘图,就是要捕获鼠标事件,将捕获到的坐标点传递给场景,然后场景中就可以添加响应的2D图形了. 技术要点: ...

  7. 百度地图实现鼠标绘制多边形并获取所有点坐标

    百度地图开放平台http://lbsyun.baidu.com/ 这里使用的是Javascript API http://lbsyun.baidu.com/index.php?title=jspopu ...

  8. [JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

    系列文章目录 第一章 2D二维地图绘制.人物移动.障碍检测 第二章 跟随人物二维动态地图绘制.自动寻径.小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图.人物鼠标点击移动.障碍检测 第四章 绘制Q ...

  9. 实验三 交互式绘制多边形

    visual studio2019实现交互式绘制多边形 这个实验······在网上找不到.孔令德的实验代码下载下来有密码,暴力破解没希望,只能自己写了. 这个和实验二是紧密相连的. 实验实现的目标 在 ...

最新文章

  1. java 弱引用 集合_java 弱引用集合类WeakHashMap
  2. Keras-数据增广
  3. POJ 1002 解题分析
  4. Python字符串等于
  5. 计算机音乐组获奖作品,大学生计算机音乐创作类决赛揭晓 浙音6件作品均获奖...
  6. php正则替换%3cbr%3e_php去除换行符的几种方法(str_replace正则和PHP_EOL)
  7. matlab数字信号处理与应用 张德丰,MATLAB数字信号处理与应用
  8. vue word 转换html渲染页面(mammoth)
  9. 交换机的基本原理与配置
  10. windows audio错误0x80070005
  11. C#自动换ip功能或者ip代理功能要这么实现
  12. steam显示没网络连接网络连接网络连接服务器,steam无法连接网络,steam显示无法连接网络...
  13. 共享办公室,推送企业紧密合作
  14. 感觉最近自己太张狂了一些。
  15. PyTorch实现AlexNet模型及参数详解
  16. 今日头条自媒体怎么提高推荐量
  17. flex布局---某个子元素独占一行
  18. 最大信息系数MIC的python代码
  19. 【推荐系统】【论文阅读笔记】【survey】A Survey on Session-based Recommender Systems基于会话的推荐系统综述
  20. 使用ICAP原语实现SPI-Multiboot加载

热门文章

  1. python关系图谱_文本分析之制作网络关系图
  2. php 复制文件夹并压缩到最小_php将文件夹打包成zip文件
  3. python列表框_「每日一练」Python列表框部件的运用
  4. GD32如何替换STM32?
  5. 「猜题第一篇」2019年大学生电子设计竞赛
  6. 服务器端接华为sdk无响应,sdk未响应
  7. html js 浏览器语言,js 判断浏览器语言的方法
  8. bch怎么挖_BCH是什么?
  9. mysql编译卡主_mysql 编译安装以及主从设定
  10. android 摄像头预览左右镜像_OpenJDK镜像的tag说明