wwkaven的专栏

电脑杂谈  发布时间:2020-03-27 23:08:18  来源:网络整理

洞洞板画图软件_简易画图软件_mfc简易画图板

链接到本文:

1. 继续上一篇文章“ MFC绘图板(2)”

2,我认为使用MFC实现绘图程序非常简单,但实际上遇到了许多问题. 以下是开发过程中一些问题的记录:

3. 首先,介绍以下MFC绘图板实现的功能:

(1)MFC绘图板使用Win7随附的绘图程序作为参考,并且基本样式相似;

(2)具有绘制曲线,直线,矩形和圆形的基本图形的功能;

(3)可以设置绘图线的颜色,粗细和类型(实现,虚线,点画等);

(4)要实现类似“油漆桶”的功能,即填充一定的色块;

mfc简易画图板_简易画图软件_洞洞板画图软件

(5)撤消绘图操作;

(6)动态调整图纸尺寸;

================================================ ==== ======================

注意: 以上6项已基本实现

================================================ ==== ======================

(7)文本输入功能;

(8)部分选择功能;

(9)放大镜功能;

简易画图软件_mfc简易画图板_洞洞板画图软件

(10)橡皮擦功能;

(11)拾色器功能;

(12)数据保存功能: 当前计划数据以三种格式保存: bmp,pdf和xml;

(13)待定... ...

4. 接下来,介绍MFC绘图版本的实现思路:

(1)基于单个文档项目,视图分为两部分,上部用于放置各种选定的面板,例如彩色面板mfc简易画图板,线条面板,绘图工具面板等;下部用于绘图;

(2)程序绘图的第一个版本是使用纯GDI实现的,它主要响应鼠标左键的三个消息: 绘图操作从鼠标左键开始,直到释放鼠标左键,并响应鼠标的移动,绘制相应的轨迹.

(3)上述绘制曲线是指: 根据鼠标移动的轨迹绘制相应的线;在具体实现中,为了实现该功能,画出多条极短的直线相连,将这些端对端连接起来,使用STL保存点的坐标;

洞洞板画图软件_mfc简易画图板_简易画图软件

(4)绘制直线,矩形和圆形可以归为一类. 只要给出两个点的坐标,就可以绘制直线,矩形或椭圆形,并保存这两个点:

(5)创建绘图类,封装绘图操作,执行绘图操作以创建新的绘图类对象,并将该对象的指针存储在列表中,以达到节省绘图数据的目的;还要注意: 绘图类的构造函数可以为不同的绘图形式创建相应的实现;

(6)关于撤消功能,即取消绘图操作,因为绘图数据已保存在上一篇文章中,因此本文的实现应该简单;但是,在实际编程中,发现如果每次操作都效率不高,则无法一一重画图形,尤其是在填充操作涉及较大面积的情况下. 它特别慢;因此,请考虑将每个图形之前的整个当前图像保存为下一个图形的背景. 这样可以大大提高效率.

(7)另外,如果有大量绘制操作,则应先在内存DC中绘制它们,然后再绘制整个副本;

(8)关于“油漆桶”功能的实现,请使用注入填充算法或边缘填充算法,

查看详细信息:

简易画图软件_mfc简易画图板_洞洞板画图软件

(9)在MFC的纯GDI环境中,上述填充算法很慢. 即使在存储器DC中调用了填充功能,填充大区域仍然很慢. 哪一个是留言的好方法,谢谢您!

(10)... ...

5. 最后mfc简易画图板,放入当前程序的屏幕截图:

6. 待续... ...

发表了250篇原创文章·被点赞50个·470,000+次浏览

关注他的留言板


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-154674-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...