首页| 论坛| 消息

标题:Qt编写自定义控件33-图片切换动画
作者:liudianwu
日期:2019-07-21 22:01
内容:

一、前言
在很多看图软件中,切换图片的时候可以带上动画过渡或者切换效果,显得更人性化,其实主要还是炫一些,比如百叶窗、透明度变化、左下角飞入等,无论多少种效果,核心都是围绕QPainter来进行,将各种动画效果对应的图片的区域动态计算并绘制出来,配合以QPropertyAnimation动画属性产生线性插值,比如渐入飞入时候,可以中间快速两端慢速。目前动画类型有9种,后期还会不断增加。
* 1:图像1渐渐变淡,图像2渐渐显现
* 2:百叶窗效果
* 3:图像从右向左翻转
* 4:从外到内水平分割
* 5:图像1从左至右退出可视区域,同时图像2从左至右进入可视区域
* 6:图像1从左至右退出可视区域,同时图像2从左至右进入可视区域
* 7:图像1从下至上退出可视区域,同时图像2从下至上进入可视区域
* 8:图像1从上至下退出可视区域,同时图像2从上至下进入可视区域
* 9:图像1不动,同时图像2从右下到左上
二、实现的功能
* 1:支持多种等待样式风格 圆弧状风格 旋转圆风格 三角圆弧 线条风格 圆环风格
* 2:可设置范围值和当前值
* 3:可设置前景色背景色
* 4:可设置顺时针逆时针旋转
* 5:支持任意大小缩放
* 6:支持设置旋转速度间隔

三、效果图
.

四、头文件代码
#ifndef IMAGEANIMATION_H
#define IMAGEANIMATION_H
/**
* 图片切换动画控件 作者:赵彦博(QQ:408815041 zyb920@hotmail.com) 2019-6-10
* 1:可设置动画类型,默认9种,后期会增加更多
* FadeEffect = 0, //图像1渐渐变淡,图像2渐渐显现
* BlindsEffect = 1, //百叶窗效果
* FlipRightToLeft = 2,//图像从右向左翻转
* OutsideToInside = 3,//从外到内水平分割
* MoveLeftToRightEffect = 4,//图像1从左至右退出可视区域,同时图像2从左至右进入可视区域
* MoveRightToLeftEffect = 5,//图像1从左至右退出可视区域,同时图像2从左至右进入可视区域
* MoveBottomToUpEffect = 6, //图像1从下至上退出可视区域,同时图 ..

回复 发表
主题 版块