短视频软件开发,图像颜色渐变和颜色覆盖

短视频软件开发,图像颜色渐变和颜色覆盖实现的相关代码
1. LinearGradient 图像线性渐变
完整代码如下:

复制代码
```cpp
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtGraphicalEffects 1.12 ///--[Mark1]

ApplicationWindow{
id: root
visible: true
width: rect.width
height: rect.height
title: qsTr("斜向渐变");

Item {
id: rect
anchors.centerIn: parent
width: linear.width
height: linear.height
LinearGradient
{
id: linear
anchors.centerIn: parent
width: image.width
height: image.height
source: Image { ///--[Mark2]
id: image
source: "image/404.png"
fillMode: Image.PreserveAspectFit;
mipmap: true
smooth: true
antialiasing: true
}
gradient: Gradient {
GradientStop { position: 0.0; color: "red" }
GradientStop { position: 0.5; color: "green" }
GradientStop { position: 1.0; color: "blue" }
}
start: Qt.point(0, 0)
// end: Qt.point(width, 0) ///1.横向渐变
// end: Qt.point(0, height) ///2.竖向渐变
end: Qt.point(width, height) ///3.斜向渐变 [Mark3]
}
}
}
```
复制代码

 

要注意三处,文中都已用Mark标记。

其一是,需要导入 import QtGraphicalEffects 1.12
其二是,LinearGradient 的源为要显示的图像
其三是,渐变的结束点位置
另外颜色如果改变不了,很有可能是图片本身不允许,最好是矢量图吧,我也不太懂~
2. ColorOverlay 颜色覆盖

完整代码如下:

复制代码
```cpp
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtGraphicalEffects 1.12 ///--[Mark1]

ApplicationWindow{
id: root
visible: true
width: item.width
height: item.height
title: qsTr("颜色叠加为绿色");

Item {
id: item
anchors.centerIn: parent
width: image.width
height: image.height
Image {
id: image
anchors.centerIn: parent
source: "image/404.png"
fillMode: Image.PreserveAspectFit; //按比列填充,不会变形
mipmap: true
smooth: true
antialiasing: true
}
ColorOverlay {
anchors.fill: image
source: image
color: "green"
}
}
}
```
复制代码

 

以上就是 短视频软件开发,图像颜色渐变和颜色覆盖实现的相关代码,更多内容欢迎关注之后的文章

posted @   云豹科技-苏凌霄  阅读(113)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示