需要用到很多<graphics.h>里面的函数,上期博客有安装的方法。现在我们用graphics.h头文件里面函数实现画笔和颜色选择功能同时介绍一些用到的函数和结构体功能。
画笔可以理解为有无穷多个无限短的直线组成,有了这个思想。
首先,画直线需要两个点 我们先构造一个存储起点和终点的结构体
然后,这个画笔还有颜色,粗细之分,在建立一个存储线的数据的结构体
COLORRFF是graphics定义好的一个可以存储颜色的变量类型
接下来就要定义一个函数来录入直线的数据了。
bool isDown 用来储存左键是否按下
malloc是动态内存分配函数,用于申请一块连续的指定大小的内存块区域。
如果分配成功返回指向被分配内存的指针,否则返回NULL。
定义好了这些结构体就可以实现便捷的对画线函数的编写了
ExMessage是一个用来接收鼠标消息的结构体。具体定义如下。
实现画笔功能的具体思路就是,当鼠标左键按下的时候记录起始坐标。将isDown改为true,如果鼠标移动,而且左键按下了。则画线。最重要的是要把,这次线的末坐标赋给下次直线的起坐标。就是类似于画连续的折线。然后无穷多个无穷短的折线就构成了任意的曲线。
当鼠标弹起的时候,画线结束,isDown赋为false
接下来做一下画图板的界面的打印。
RGB是用来表示颜色的工具。可以打开电脑上的画图板。R代表红色,G是代表绿色,B是代表蓝色。
COLORRFF变量类型就是用RGB进行赋值的
窗口的显示和背景颜色的设置,还有填充矩形的绘制等在上期博客都讲过了。
运行结果如下
这是用if分支来实现右侧区域原颜色的选择。就是用横纵坐标,框起来一个框,而且鼠标还要点击。K的值分别代表着这几种颜色的宏对应的十六进制的数字。
具体代码如下
运行结果:
如果觉得《C语言简单实现画图板。》对你有帮助,请点赞、收藏,并留下你的观点哦!