用途:此程序为《计算机图形学》课程设计,作用和画图类似。
代码框架:代码主要分为MainWindow和OpenGLWindow两个大类,前者是UI界面及交互相关,后者为画板图形处理相关。
开发工具:Qt5,OpenGL-glut
画点
用户可以通过“插入-画点”或者工具栏的
画线
用户可以通过“插入-直线”或者工具栏的按钮
画曲线
用户可以通过“插入-曲线”或者工具栏的按钮
画矩形/填充矩形
用户可以通过“插入-矩形/填充矩形”或者工具栏的
画多边形/填充多边形
用户可以通过“插入-多边形/填充多边形”或者工具栏的
画椭圆
用户可以通过“插入-椭圆”或者工具栏的按钮
画圆
用户可以通过“插入-圆形”或者工具栏的按钮
改变画笔颜色
用户可以通过工具栏的按钮
改变画笔粗细
用户可以通过工具栏的下拉选单选择画笔粗细(单位:像素),效果如图所示。
选取图元
用户可以通过“选择-选择”或者工具栏的
选择前:
选择直线:
选择曲线:
选取矩形区域
用户可以通过“选择-矩形区域”或者工具栏的
选择前:
选择后:
选取多边形区域
用户可以通过“选择-多边形区域”或者工具栏的
选择前:
选择后:
反选
用户可以通过“选择-反选”来反选选区,或者通过工具栏的按钮进行反选操作,反选前后的效果如图所示。(被选择区域标记为黑色)
反选前:
反选后:
取消选择
用户可以通过在画板中按下“中键”来取消选择,按下中键前后效果如图所示。
按下前(被选中):
按下后(取消选中):
裁剪
选择一块区域后,若需要裁剪,可以通过4.4所示“删除区域”方法删除选中的选区,以达到裁剪的目的,在填充多边形中裁剪一块三角形区域如图所示。
裁剪前:
选择后:
裁剪后:
移动区域
用户可以通过“选择-移动”或者工具栏的
拖动前:
拖动时:
拖动后:
旋转区域
用户可以通过“选择-旋转”或者工具栏的
旋转前:
旋转-45°后:
再次旋转135°后:
缩放区域
用户可以通过“选择-缩放”或者工具栏的
缩放前:
缩放50%后:
缩放200%后:
删除区域
用户可以通过“选择-删除”或者工具栏的
用户可以通过“在一开始的对话框中选择3D模式”进入此功能。本功能主要体现在3维6面体的显示和变换上。
显示出来的效果如图所示。
通过拖动鼠标可以旋转立方体,通过Ctrl+Z快捷键或者
打开bmp文件
程序目前只支持打开bmp格式的文件,其他格式文件请转码成bmp再打开。默认的尺寸为600*400(像素),如果超过了这个尺寸,可能会导致裁剪;如果小于此尺寸,可能会导致读取异常。
工具栏选择“文件-打开”后,会弹出选择文件对话框:
保存为bmp文件
程序目前只支持保存为bmp文件,尺寸为600*400(像素)。工具栏选择“文件-保存”后,会弹出保存文件对话框:
选择“保存”后,文件将保存在所选路径下。
新建画布
如果希望新建一块全新的画布,可以选择“文件-新建”,随后会弹出确认框询问是否保存:
Fig.25 新建画布对话框演示图 2D模式下,选择保存:请查看6.2小节,然后清空全部内容。 2D模式下,选择不保存:清空全部内容。 3D模式下,选择保存:请查看6.2小节,然后重置3维6面体。 3D模式下,选择不保存:重置3维6面体。 选择取消或关闭对话框:画布上的内容依然保存,可以继续编辑。
撤销操作
如果不满意刚才所做的改变,可以选择“编辑-撤销”或者选择工具栏的
恢复操作
如果希望恢复刚才撤销的操作,可以选择“编辑-恢复”或者选择工具栏的
查看源代码
如果希望查看本程序在github的源代码,可以通过“开发者工具-查看源代码”打开网页,此操作会打开默认的浏览器。
2D模式下:
Ctrl+A:保存到文件操作;
Ctrl+O:打开文件操作;
Ctrl+W:新建画布操作;
Ctrl+Z:撤销操作;
Ctrl+Y:恢复操作;
Ctrl+1 to 9分别对应:画点、画线、画曲线、画填充矩形、画矩形、画填充多边形、画多边形、画椭圆、画圆;
Alt+1 to 9分别对应:选取矩形区域、选取多边形区域、反选、选择图元、移动选区、旋转选区、缩放选区、删除选区、选择画笔颜色。
3D模式下
Ctrl+A:保存到文件操作;
Ctrl+W:重置3D图形操作;
Ctrl+Z:放大操作;
Ctrl+X:缩小操作;