前言

在 QML 中的 PathView 来实现一个 Cover Flow 图片切换效果,非常酷炫,并且代码也非常精简,先来看看效果图

源代码

Rectangle {id:coverflowcolor:"black"property ListModel modelproperty int itemCount: 5PathView{id:pathViewmodel:coverflow.modeldelegate: Item {id:delegateItemwidth: 200height: 200z:PathView.iconZscale:PathView.iconScaleImage{id:imagesource: urlwidth: delegateItem.widthheight: delegateItem.height}ShaderEffect {anchors.top: image.bottomwidth: image.widthheight: image.height;anchors.left: image.leftproperty variant source: image;property size sourceSize: Qt.size(0.5 / image.width, 0.5 / image.height);fragmentShader:"varying highp vec2 qt_TexCoord0;uniform lowp sampler2D source;uniform lowp vec2 sourceSize;uniform lowp float qt_Opacity;void main() {lowp vec2 tc = qt_TexCoord0 * vec2(1, -1) + vec2(0, 1);lowp vec4 col = 0.25 * (texture2D(source, tc + sourceSize) + texture2D(source, tc- sourceSize)+ texture2D(source, tc + sourceSize * vec2(1, -1))+ texture2D(source, tc + sourceSize * vec2(-1, 1)));gl_FragColor = col * qt_Opacity * (1.0 - qt_TexCoord0.y) * 0.2;}"}transform: Rotation{origin.x:image.width/2.0origin.y:image.height/2.0axis{x:0;y:1;z:0}angle: delegateItem.PathView.iconAngle}}path:coverFlowPathpathItemCount: coverflow.itemCountanchors.fill: parentpreferredHighlightBegin: 0.5preferredHighlightEnd: 0.5}Path{id:coverFlowPathstartX: 0startY: coverflow.height/3PathAttribute{name:"iconZ";value: 0}PathAttribute{name:"iconAngle";value: 70}PathAttribute{name:"iconScale";value: 0.6}PathLine{x:coverflow.width/2;y:coverflow.height/3}PathAttribute{name:"iconZ";value: 100}PathAttribute{name:"iconAngle";value: 0}PathAttribute{name:"iconScale";value: 1.0}PathLine{x:coverflow.width;y:coverflow.height/3}PathAttribute{name:"iconZ";value: 0}PathAttribute{name:"iconAngle";value: -70}PathAttribute{name:"iconScale";value: 0.6}PathPercent{value:1.0}}}

这里用ShaderEffect来实现图片的阴影倒影效果,之前的博客里面有介绍
Path中主要通过修改图片的 Z 值、缩放、以及旋转来改变图片属性达到我们想要的效果。

源码在这里,点击下载

本文参考http://www.qter.org/portal.php?mod=view&aid=20

QML实现酷炫的 Cover Flow 效果(PathView)相关推荐

  1. html5 coverflow,使用CSS+JS帮你实现苹果cover flow效果

    原标题:使用CSS+JS帮你实现苹果cover flow效果 coverflow-demo222 <> ;(function(parent){ var cards = parent.que ...

  2. Win11新特性:在平板锁屏界面还有酷炫的3D视差效果

    在深入挖掘 Windows 11 系统之后,用户再次发现了隐藏的 Windows 10 Mobile 保留功能.知名破解达人 ADeltaX 表示,如果你的设备有合适的硬件,Windows 11 将在 ...

  3. 纯CSS3写的10个不同的酷炫图片遮罩层效果

    这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下  在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  4. 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】

    这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下 在线预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  5. html动态显示字母,html5酷炫字母喷射动画效果

    html5酷炫字母喷射动画效果,canvas绘制英文字母字符像喷泉喷水一样向上喷射动画特效. 查看演示 下载资源: 32 次 下载资源 下载积分: 10 积分 js代码 var Canvas = {} ...

  6. 【进阶版九宫格背景图片】如何仅仅依靠background的几个属性组合搭配出酷炫的背景图片效果,并自适应任何宽高效果?

    如果你要有透明度效果的背景图请移步https://blog.csdn.net/qq_37860634/article/details/119591991 这是我们最终想要达到的效果,并且支持任意宽高缩 ...

  7. jQuery酷炫网格相片墙动画效果

    相片墙的动画效果可以有很多种,加上3D效果甚至可以千变万化. 今天展示的是一个轻量级的简单示例,但是效果足够酷炫. 只使用jQuery.delay(),jQuery easing plugin和CSS ...

  8. 【HTML——酷炫烟花】(效果+代码)

    效果展示 代码 下面即为全部源代码喔 ~ Html--酷炫烟花.html <!doctype html> <html lang="en"

  9. PS教程!手把手教你绘制3个效果酷炫的GIF动画效果

    编者按:今天来一点简单好玩的动画教程,包括常见的Loading 动画.烟花动画和摩天轮旋转动画,操作不难,附有PS时间轴的入门手册,适合新人练习. 为了避免写僵尸教程,有些地方还是需要大家自行思考并且 ...

最新文章

  1. GNU make manual 翻译( 一百一十三)
  2. 直流无刷电机制动的三种方式
  3. HTML怎么限制每行字数,JS实现每行固定字数,自动换行
  4. 图论算法(一)--最短路径的DFS/BFS解法(JAVA )
  5. eclipse新建Android项目
  6. 二进制,八进制十进制十六进制之间数据转换
  7. Java 如何判定当前时间是否在某个范围
  8. 动态ip如何做域名解析
  9. Boot Device简介
  10. “Defaulting to user installation because normal site-packages is not writeable“
  11. python测试之道进阶_深入学习AB测试(一)-AB Testing With Python[项目实战]
  12. xbox one s驱动_【硬件资讯】次世代主机间最大差距?PS5 120Hz支持成难题,XBOX优势巨大!!...
  13. MVP的精益创业模式
  14. 我参加了资金盘培训,get了这些“知识点”
  15. ubuntu16.04安装rtems
  16. linux菜鸟基础学习(一)
  17. [宋史学习] 对西夏战争中暴露出的积弱形势 范仲淹
  18. 著名电子竞技游戏网站分析
  19. 最大公约数(二进制算法)
  20. 自然语言处理(二)——乔姆斯基4型文法

热门文章

  1. 共克时艰:科技助力湖北地区银行业务线上转型
  2. vue如何在用户要关闭当前网页时弹出提示
  3. Linux监控平台搭建( zabbix监控)
  4. JSPatch defineProtocol 实现详解
  5. angularjs解决方案之 递归模板
  6. acm之简单博弈 Nim Bash Wythoff
  7. 漫游Kafka之过期数据清理
  8. zabbix2.4域用户配置
  9. nginx 反向代理负载均衡 tomcat集群应用
  10. PHP中header用法详解带范例(转)