Qt::绘制框架-绘制图形-矩形|圆形|自定义图形

二维矢量动画智能制作软件开发合集

链接:软件开发技术分享及记录合集

个人开发二维矢量动画智能制作软件界面如下:


目录

绘制图形

一、绘制图形​​​​​​​原理

二、矩形绘制实现

1.代码示例

2.示例效果

三、圆形绘制实现

1.代码示例

2.示例效果

四、自定义图形绘制实现

1.代码示例

2.示例效果

​​​​​​​​​​​​​​五、绘制图形软件测试视频

结束语


绘制图形

本篇介绍软件左侧工具栏→绘制工具→​​​​绘制图形​​​

本软件将绘制图形分为两类:

1)常规图形绘制;

​​​​​​​

2)自定义图形绘制。


一、绘制图形​​​​​​​原理

绘制成组图形,即绘制常用形状,该功能够提高绘图人员的绘制效率。本软件提供2种成组图形绘制操作,分别是常规图形绘制和自定义图形绘制。实现该功能的思路为:1)绘制图形;2)根据鼠标移动对图形进行按需缩放。

常规图形绘制实现的核心在于需要人工设置图形的节点参数,但绘制图形较为简单,实现难度不大;复杂的图形可通过增加自定义图形,自动识别图形数据,避免人工手动置数。

二、矩形绘制实现

1.代码示例

.h文件变量申明:

QPointF startNodePos;

QList nodeList;

QList curveStartList;

QList curveEndList; 

nodeList.append(startNodePos + QPointF(-0.3,-0.3));
nodeList.append(startNodePos + QPointF(0.3,-0.3));
nodeList.append(startNodePos + QPointF(0.3,0.3));
nodeList.append(startNodePos + QPointF(-0.3,0.3));
curveStartList.append(startNodePos + QPointF(-0.2,-0.3));
curveStartList.append(startNodePos + QPointF(0.3,-0.2));
curveStartList.append(startNodePos + QPointF(0.2,0.3));
curveStartList.append(startNodePos + QPointF(-0.3,0.2));
curveEndList.append(startNodePos + QPointF(0.2,-0.3));
curveEndList.append(startNodePos + QPointF(0.3,0.2));
curveEndList.append(startNodePos + QPointF(-0.2,0.3));
curveEndList.append(startNodePos + QPointF(-0.3,-0.2));

2.示例效果

矩形

三、圆形绘制实现

1.代码示例

.h文件变量申明:

QPointF startNodePos;

QList nodeList;

QList curveStartList;

QList curveEndList;

nodeList.append(startNodePos + QPointF(0,0.2));
nodeList.append(startNodePos + QPointF(0.2,0));
nodeList.append(startNodePos + QPointF(0,-0.2));
nodeList.append(startNodePos + QPointF(-0.2,0));
curveStartList.append(startNodePos + QPointF(0.1,0.2));
curveStartList.append(startNodePos + QPointF(0.2,-0.1));
curveStartList.append(startNodePos + QPointF(-0.1,-0.2));
curveStartList.append(startNodePos + QPointF(-0.2,0.1));
curveEndList.append(startNodePos + QPointF(0.2,0.1));
curveEndList.append(startNodePos + QPointF(0.1,-0.2));
curveEndList.append(startNodePos + QPointF(-0.2,-0.1));
curveEndList.append(startNodePos + QPointF(-0.1,0.2));

2.示例效果

圆形

四、自定义图形绘制实现

1.代码示例

.h文件变量申明:

QList nodeList;

QList curveStartList;

QList curveEndList;

for(int i = 0; iscenePos() + customNode[i]);
    curveStartList.append(mouseEvent->scenePos() + customCurveStart[i]);
    curveEndList.append(mouseEvent->scenePos() + customCurveEnd[i]);
}

2.示例效果

自定义图形

​​​​​​​​​​​​​​五、绘制图形软件测试视频

绘制图形测试

​​​​​​​


结束语

本文简要梳理了软件【绘制图形】的实现框架,内容均为原创。

作者文笔水平一般,请大家多多包涵和指正,十分欢迎进一步交流学习。

若需,请联系本人小红书(小红书号:YzLab96),谢谢​​​​​​​。

链接:  软件开发及测试所有视频合集见小红书​​​​​​​

你可能感兴趣的:(qt,c++,个人开发,动画,ai绘画)