QML入门----图形动画基础(二)

2023-05-16

文章目录

      • 导语
      • 一、混合效果
      • 二、颜色效果
        • 1.亮度对比度 (BrightnessContrast)
        • 2.颜色叠加
        • 3.着色
        • 4.饱和度
      • 三、渐变效果 (Gradient)
      • 四、阴影效果
      • 五、模糊效果
      • 六、动感模糊
      • 七、发光效果

导语

上文的动画比较简单,通过颜色,渐变,平移,旋转,缩放,过渡,翻转实现简单动画。这章学习混合,遮罩,模糊,染色等特效。使用Qt图形效果模块,需要导入一下模块

import QtGraphicalEffects 1.12

一、混合效果

总共两张图,一张覆盖到另一张的上面,类似于混合。通过Blend类型

Item {
    width: 300
    height: 300
    
    Image {
        id: cat
        source: "cat.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }
    
    Image {
        id: ball
        source: "ball.gif"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }
    
    Blend {
        anchors.fill: cat
        source: cat
        //需要混合的项目
        foregroundSource: ball
        //定义混合的方式,有22种不同的模式
        mode: "color"
    }
}

二、颜色效果

调整图片的亮度、对比度、着色、饱和度、伽玛调整等

1.亮度对比度 (BrightnessContrast)

Item {
    width: 300
    height: 300
    
    Image {
        id: bug
        source: "cat.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }
    
    BrightnessContrast {
        anchors.fill: bug
        source: bug
        //以下两个属性取值范围都是-1.0到1.0,默认为0
        //亮度,如果值-1将会是一张黑图
        brightness: -0.8
        //对比度
        contrast: 0.5
    }
}

在这里插入图片描述

对比度:屏幕上同一点最亮时(白色)与最暗时(黑色)的亮度的比值,一般来说对比度越大,图像越清晰醒目,色彩也越鲜明艳丽;而对比度小,则会让整个画面都灰蒙蒙的。

2.颜色叠加

有一张图片,然后给这张图片再添加上一层颜色。

ColorOverlay {
	anchors.fill: bug; source: bug; color: "#80800000"
}

3.着色

与颜色叠加类似,只不过通过单独增减色调、亮度、饱和度来给图片上色。

4.饱和度

Desaturate类型。其属性desaturation控制颜色饱和度的程度,取值0.0到1.0 默认值为0.0,即没有变化。

三、渐变效果 (Gradient)

包含三种渐变类型

  • 锥形渐变(ConicalGradient)
  • 线性渐变(LinearGradient)
  • 辐射渐变(RadialGradient)

四、阴影效果

  • DropShadow(投影)
  • InnerShadow(内阴影)

五、模糊效果

  • FastBlur(快速模糊),模糊质量较低,但渲染速度较快
  • GaussianBlur(高斯模糊),通过模糊图像算法实现,质量比第一种高,但慢
  • RecursiveBlur(递归模糊),也使用算法,多次模糊,比上两种更加模糊
  • MaskBlur(遮罩模糊),可以控制每一个像素进行模糊,相当于可以进行局部模糊

六、动感模糊

上面四种属于发散模糊。但是还可以指定特殊模糊

  • 方向模糊(我们经常看到的抓拍图一辆正在高速行驶的摩托,DirectionalBlur)
  • 径向模糊(相当于旋转模糊,RadiaBlur)
  • 缩放模糊(ZoomBlur)

七、发光效果

  • 发光(Glow)
  • 矩形发光(RectangularGlow)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QML入门----图形动画基础(二) 的相关文章

  • 模拟执行网页接口

    一 背景 我想使用程序自动执行提交软件操作 xff0c 这时候需要通过谷歌浏览器去查看需要使用哪些请求字段等 二 实现方式 1 先在浏览器上输入账号 密码进行登录 2 打开开发者工具 3 设置浏览目录 4 然后输入相关参数 xff0c 手动
  • Python resquests使用multipart/form-data格式上传参数或文件

    参考 xff1a 井蛙不可语于海 一 需要注意的坑 在resquests中不用加上Content Type xff0c 否则请求无法成功 xff0c 它会有一个默认值 二 代码示例 span class token keyword try
  • QT Expression:_BLOCK_TYPE_IS_VALID断言错误

    一 最近使用QT xff0c 写了一个小小的Demo xff0c 在关闭窗口时总是报错 二 原因 1 Qt初始化时有两种构造方式 xff1a span class token comment xff08 1 xff09 将窗口对象定义在栈上
  • QT 解压tar.gz格式的压缩包

    一 tar gz 以 tar gz为后缀的文件是一种压缩文件 xff0c 在Linux下常见 一般情况下都是源代码的安装包 它其实是先打包成tar格式的文件 xff0c 然后利用gzip压缩技术来压缩 这两天我想在windows下去解压这种
  • QT error C2220: 警告被视为错误 - 没有生成“object”文件

    一 错误代码图 下面的代码会造成这个问题 span class token keyword void span CustomWindow span class token operator span span class token fun
  • QT 复制、粘贴系统剪贴板

    一 复制 可以复制文字 图片到系统剪贴板 xff0c 图片最好将QImage格式复制到剪贴板 xff0c QPixmap要比QImage慢 xff0c 因为QPixmap需要首先转换为QImage格式 QClipboard span cla
  • QT 最常用字符串操作

    文章目录 96 96 QString 96 96 一 查找字符串位置二 截取指定位置的字符串三 判断字符串是否含有空字符四 判断字符串是否为空值五 指定位置插入字符串六 判断是否以某个字符串开始或结尾七 删除空字符八 排序字符串九 切割字符
  • QT 计算字符串、文件md5值

    一 计算字符串md5值 xff08 1 xff09 QCryptographicHash xff0c 提供一种生成加密散列的方法 xff0c Hash叫作散列表 xff0c 也叫作哈希 xff08 2 xff09 当前支持MD4 MD5 S
  • Ubuntu系统装上了以后应该干什么?

    我列出一个Linux Ubuntu装机单 xff1a 可以直接在桌面上新建文本文档 xff0c 复制粘贴我的装机命令单 xff0c 然后文本文档后缀改成sh xff0c 再在属性里设置 允许以程序执行文件 xff0c 就可以了 装机单 xf
  • QT 创建、修改桌面快捷方式,固定任务栏快捷方式

    一 获取系统文件路径 我们用到DesktopLocation和AppDataLocation 二 创建与修改快捷方式路径 修改可以直接将创建的快捷方式覆盖到指定的路径中即可 xff08 1 xff09 桌面快捷方式 QString desk
  • QT UTF-8转GBK编码

    在Qt5中使用Unicode来存储 操作字符串 xff0c windows下是GBK编码 UTF 8 转 GBK QString appLink span class token operator 61 span span class to
  • QT 删除一周前的日志

    1 现象 本地客户端log越来越大 xff0c 写入速度也会变慢 xff0c 所以在启动时进行清理 2 日志文件名 3 代码 span class token keyword void span span class token funct
  • Python脚本转换为exe程序

    一 安装pyinstaller pip install pyinstaller 二 打包程序 xff08 pyinstaller exe在python下的 Scripts 文件夹下 xff09 python pyinstaller exe
  • QT 计算文件夹总大小并转换为B、KB、M、G

    一 计算文件夹总大小 qint64 span class token function fileSize span span class token punctuation span span class token keyword con
  • QT 自定义滑动条(上方有实时方框显示数值,且带有刻度值)

    文章目录 一 效果图二 原理三 示例代码四 还可以使用系统stylesheet语法来自定义滑动条五 设置小数值 一 效果图 这种滑动条是控件所拼接而成 二 原理 xff08 1 xff09 LectureCorrectBoxSliderFo
  • QT 流式布局水平插入小部件(可自动换行)

    一 类似于这样的效果图 由于对象不确定有多少人 xff0c 所以使用代码 xff0c 在布局中添加部件 xff0c 如果一行撑不下 xff0c 则自动添加到第二行 二 使用FlowLayout FlowLayout是一个自定义布局类 xff
  • QT 计算平均分(向上取整或向下取整)

    一 场景 需要计算四门成绩的平均分 xff0c 并向上取整 span class token keyword double span temp span class token operator 61 span span class tok
  • QT 工作遇到的小问题

    文章目录 1 QT中清空布局中所有小控件2 纯代码添加QPushButton xff0c 设置样式checked不生效3 stackedWidget必须在初始化时 xff0c 设置当前页 xff0c 否则有可能顺序会打乱 xff0c 画面顺
  • QT QPushButton中设置样式出现异常凹凸的问题

    一 设计图 两个互斥的button xff0c 然后我只想设置下边框的颜色 二 设置样式后出现凸起 xff08 太丑了 xff09 QPushButton btnMember span class token punctuation spa
  • 为什么Ubuntu系统安装上以后,分辨率低,屏幕不清晰?安装NVIDIA显卡驱动的方法。

    sudo passwd su ubuntu drivers autoinstall sudo reboot now 询问密码的时候全都输入你安装系统的时候设置的密码 中间停住 xff0c 有下面这个情况 xff0c 输入y xff0c 然后

随机推荐

  • QT 两个exe之间通信

    一 通信方式 通过windowAPI xff0c SendMessage进行通信 xff0c 等待结果返回 xff0c 是一种同步的方式 PostMessage是将消息放入消息队列中 xff0c 立即返回 xff0c 是一种异步的方式 我采
  • QT exe程序与 golang程序通信

    一 背景 QT 与 GO之间进行通信 xff0c 可以很方便在windows平台下用golang开发后台服务 xff0c c 43 43 负责UI界面 二 效果图 三 QT 程序接收方 重写nativeEvent函数 span class
  • QT 获取特定字符串(以换行结尾)

    一 类似如下图字符串 1 取版本值 xff0c 以及下载地址 34 version span class token operator 61 span span class token number 0 0 span span class
  • QT QProcess: Destroyed while process (“apple.exe“) is still running

    一 出错原因 因为我这个程序是一直运行的 xff0c 它会一直回显数据 xff0c 如果你使用对象 xff0c start启动这个命令后 xff0c 程序认为QProcess已经执行完毕 xff0c 自动回收 xff0c 但是此时程序正在执
  • QT Process基本使用

    一 执行命令行命令 QProcess p span class token punctuation span QString binPath span class token operator 61 span span class toke
  • QT 查找程序路径并打开程序,然后查找程序PID,最后关闭这个程序进程

    一 查找程序路径 通过window系统注册表 xff0c 查询程序路径位置 xff0c 比如我要启动百度管家 span class token comment 公司名称 span QCoreApplication span class to
  • 记录重要的网站

    文章目录 一 UI1 逼格高 xff0c 动态图比较高清 xff08 GIF xff09 2 阿里的大部分UI图 xff0c 够用 二 查找问题1 Stack Overflow最大编程社区 xff0c 可以找到绝大多数问题 三 技术1 we
  • QT QWebEngineProcess注意事项及扫码登录回调

    一 pro文件中需要添加模块 二 程序打包 除了使用windeployqt exe打包依赖库以外 xff0c 还需要手动添加两项文件 第一步 xff1a 在你程序bin目录下的translations文件中添加文件夹qtwebengine
  • QT 防止按钮快速重复点击

    一 实现间隔一秒只能点击一次按钮 xff08 没到时间之前 xff0c 点击不能按 xff09 span class token keyword void span span class token class name MainWindo
  • QT QButtonGroup 与 QStackedWidget 实现菜单(Tab)切换

    一 效果图 三个菜单互斥点击 xff0c 点击后跳转至相应页面 二 QButtonGroup 按钮互斥 1 UI结构 2 代码 span class token keyword void span span class token func
  • 对于程序多核优化的思考

    针对处理器的多核心多线程进行优化 现在的处理器很少有单核的 xff0c 2核的都很少了 在用python计算2的10000000次方的时候 xff0c 我观察了我的任务管理器 xff0c 首先第3个线程的使用率达到了100 xff0c 然后
  • QT QListWidget的添加与删除,滚动条显示或隐藏,判断是否滑到顶部或底部,并使QListWidgetItem自适应大小

    注意 xff1a QListWidget添加子Item时 xff0c 最外层最好设置完整背景颜色 xff0c 否则移入Item会自带淡蓝色背景 一 QListWidget 中使 QListWidgetItem自适应大小 父部件ListWid
  • QT 网络请求设置自定义cookie请求头失败的问题

    文章目录 一 背景二 示例代码1 自己组装HTTP请求 xff08 成功 xff09 2 采用项目网络组件库 xff08 失败 xff09 3 解决办法 xff08 成功 xff09 一 背景 我准备在每一次HTTP请求头中加入自己定义的c
  • QT 三角气泡提示框(文字自适应、自定义三角位置)

    文章目录 一 效果图二 实现代码1 调用示例2 BubbleTipsWidget h3 BubbleTipsWidget cpp 一 效果图 二 实现代码 1 调用示例 span class token keyword void span
  • QT 代码添加QScrollArea

    一 QScrollArea 一 这是一个控件容器类 xff0c 可以在UI中直接拖拽 xff0c 也可以使用代码进行添加 xff0c 当我们UI添加时 xff0c QScrollArea这个容器套了两层 xff0c 我们放入的控件 xff0
  • QML入门----创建qml项目(一)

    文章目录 导语一 选择菜单二 选择文件类型三 填写项目名称四 项目创建成功五 Hello World六 运行图 导语 今天开始学习qml xff0c 从hello world开始 xff0c 本来计划之前开始学的 xff0c 但是看了好多资
  • QML入门----基本语法(二)

    文章目录 基础语法1 import 导入语句2 Loader 一 类型二 对象1 id2 属性 xff08 property xff09 3 信号和信号处理器特性4 方法特性 function5 附加属性和附加信号处理器6 枚举 四 注释五
  • QML入门----图形动画基础(一)

    文章目录 一 图形动画基础1 颜色2 渐变 xff08 Gradient xff09 二 图片1 图片2 边界图片3 动态图片 三 缩放 旋转 平移变换1 使用属性2 高级变换 xff08 Transform xff09 四 状态改变使用过
  • QT Signal and slot arguments are not compatible

    一 原因 信号和槽绑定的参数不同 signals span class token operator span span class token keyword void span span class token function run
  • QML入门----图形动画基础(二)

    文章目录 导语一 混合效果二 颜色效果1 亮度对比度 xff08 BrightnessContrast xff09 2 颜色叠加3 着色4 饱和度 三 渐变效果 xff08 Gradient xff09 四 阴影效果五 模糊效果六 动感模糊