通过使用qt的画图功能来实现画图板。常规的正方形,圆形,椭圆,都有一定规律,只需要一些关键信息即可存储并解决。例如圆(半径,圆心) 正方形(x,y,w,g)。但是绘制自定义图形的时候需要思考了。
要绘制自定义图形的思路分为以下几种
1). 使用容器把所有点的坐标都存储起来,甚至颜色信息。
感觉这样子的话,每次有笔刷在画布上画画的时候,容器会越来越大的,会造成程序效率的低下。
2). 把画布当做一个图像,背景不要刷新,画完画的时候,更新一下并存储为临时图像,然后在需要的时候把它变为画布背景。
1.优点:存储方便
2.在操作的时候会有点麻烦:比如我要撤销操作,不能很好的解决。
3)正在思考用两种方式动态的结合的思路。
但是在这里,有几个概念需要明确一下
图形分为两种: 1)非矢量图(就是纯粹的像素,每个点是什么颜色而已),特点在缩放时会失真
2)矢量图(一些矢量线段来绘制的图形)。
对于矢量图 就可以纯粹的使用上面的方法1.把各种各样的形状使用容器存储即可。
有小伙伴们有什么新颖的思路请在下面评论一下。