7

C# WPF上位机开发(增强版绘图软件)

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/134959411
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们写过一个绘图软件,不过那个比较简单,主要就是用鼠标模拟pen进行绘图。实际应用中,另外一种使用比较多的场景,就是绘制直线、长方形和圆形。不管是流程图,还是传感器仿真,或者是图形数据动态显示等等,绘图部分本身还是有着重要的实际用途。因此,这里有必要告诉大家,实际的canvas绘图是什么样的。

        这里的增强版,主要也是指的直线绘图、长方形绘图和圆形绘图。当然如果要做得好的话,一般还需要同步考虑一下keyboard事件,这部分也很重要。

dd93f847bf1e40e89e7df13312b58bc0.png

1、软件设计

        关于软件设计,目前是这么考虑的。可以创建一个菜单,里面有三个子菜单,这三个子菜单分别是直线、长方形和圆形。我们选择了一种图形,那么其他的图形就自动被放弃。后续在canvas上面绘图的时候,就用对应子菜单的形式进行绘图即可。

2、界面设计

        相对代码,界面设计还是比较简单的。整个界面主要就两个部分,一部分是菜单,一部分是canvas。做好了这个,基本的界面就准备好了。



newCodeMoreWhite.png

3、代码设计

        由于是绘图,所以整个绘图的操作其实分成了三个阶段,分别是鼠标左键按下、鼠标移动、鼠标松开三个步骤。如果是鼠标按键刚刚按下,一般只需要记录一下当前的坐标即可。接着在鼠标移动的时候,开始绘制图形。等到最终鼠标左键弹起的时候,绘图结束,所有的shape记录到List当中。

        当然除了绘图之外,另外一部分比较重要的就是菜单的响应,这里建议不同的菜单设置不同的响应函数。虽然麻烦了一点,但是可以保证不出错。

4、详细的代码内容

        最后为了方便学习和交流,这里给出完整的c#代码,中间关于图形绘制的内容多了一点,菜单部分的内容其实还是比较简单的。



newCodeMoreWhite.png

5、结束彩蛋部分

        另外建议大家可以多使用类似chatgpt的工具来学习c# wpf,这样你给它提示关键字,通过不断的交流,最终一定可以实现你想要的效果。这比单纯的搜索引擎学习效率要高得多。


Recommend

  • 5

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         在软件开发中,有一种很重要的控件,那就是表格。大家可以想象下,办公软件里面是不是就有一个专门做表格的软件,那就是excel。对于上位机来说也是一样,很多数...

  • 8

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         图像处理是工业生产重要的环节。不管是定位、测量、检测还是识别,图像处理在工业生产中扮演重要的角色。而c#由于自身

  • 6

    C# WPF上位机开发(倒计时软件)

  • 8

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         前面我们写了倒计时软件,但是不知道大家有没有发现,这个软件起始有一个缺点,那就是倒计时的起始时间都是硬编码生成的。所以每当我们需要重新设置起始时间,就...

  • 5

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         本身c# wpf可以看成是生产力工具,它的意义在于可以快速根据业务...

  • 4

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         在实际应用中,有一种情况就是,我们需要经常对数据进行图形化显示,这样会比较直观一点。比如经济统计里面的同比、环比显示,pid里面的调参结果显示,传感器数...

  • 5

    C# WPF上位机开发(乘法计算小软件)

  • 7

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         每到年末或者是尾牙的时候,很多公司都会办一些年终的清楚活动,感谢员工过去一年辛苦的付出。这个时候,作为年会的重头戏,那就是抽奖环节了。抽奖一般来说,有...

  • 7

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         在软件开发中,如果存在canvas图像的话,一般有几种控制方法。一种是鼠标控制;一种是键盘控制;还有一种是定时器控制。定时器控制,多常见动画、游戏、3d视频当...

  • 5

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         对于上位机而言,窗口布局有很多种形式,单页面、多页面等等。不过,还有一种分类的方法,大家往往会忽视,那就是针对不同使用者,上位机中界面的开发也要有所区...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK