二维矢量动画智能制作软件开发合集
个人开发二维矢量动画智能制作软件界面如下:
目录
一、印章效果原理
在填充样式中设计了印章填充,设置界面如下:
本软件目前提供了4种印章图案,分别是矩形、圆角矩形、三角形和圆形,效果如下:
这些图案主要是通过QPainter的drawPath实现,后续为满足需求可继续拓展印章图案。
二、印章效果代码实现
.h文件变量申明:
int sealType = 0;
qreal sealLen = 10,sealWid = 10,sealLenSpace = 10,sealWidSpace = 10;
QColor sealColor = Qt::black;
QPainterPath m_path,sealPath;
qreal selItemsMinX,selItemsMaxX,selItemsMinY,selItemsMaxY;
qreal selItemsCenterX,selItemsCenterY;
void Item::setFillSeal(int type,qreal len,qreal wid,qreal lenSpace,qreal widSpace,QColor color)
{
sealType = type;
sealLen = len; sealWid = wid;
sealLenSpace = lenSpace; sealWidSpace = widSpace;
sealColor = color;
sealPath.clear();
for(int i = selItemsMinX-selItemsCenterX; i < selItemsMaxX-selItemsCenterX; i += 2*sealWid + sealWidSpace)
for(int j = selItemsMaxY-selItemsCenterY; j < selItemsMinY-selItemsCenterY; j += 2*sealLen + sealLenSpace)
if(m_path.intersects(QRectF(i,j,sealWid,sealLen)))
switch(sealType)
{
case 0: //
sealPath.addRect(i,j,sealWid,sealLen);
break;
case 1:
sealPath.addRoundedRect(i,j,sealWid,sealLen,20,20,Qt::RelativeSize);
break;
case 2:
{
QPolygonF polygon;
polygon << QPointF(i-5,j+5) << QPointF(i+5,j+5) << QPointF(i,j-8);
sealPath.addPolygon(polygon);
}
break;
case 3:
sealPath.addEllipse(QPointF(i,j),sealWid,sealLen);
break;
default:
break;
}
}
三、印章效果软件测试视频
印章测试
结束语
本文简要梳理了软件【印章效果】的实现框架,内容均为原创。
作者文笔水平一般,请大家多多包涵和指正,十分欢迎进一步交流学习。
若需,请联系本人小红书(小红书号:YzLab96),谢谢。