本页内容

ImageParticle QML Type

用于通过图像可视化逻辑粒子。更多内容...

Import Statement: import QtQuick.Particles
Inherits:

ParticlePainter

属性

详细说明

该元素将逻辑粒子渲染为图像。该图像可以是

  • 着色
  • 旋转
  • 变形
  • 基于精灵的动画

当多个 ImageParticles 正在绘制同一逻辑粒子组时,它们会隐式共享粒子数据。这种共享基于上述四种能力进行划分。因此,如果一个 ImageParticle 定义了其中某项能力下粒子的渲染数据,而另一个未定义,那么在该方面,两者将自动以相同的方式绘制粒子。 这主要在粒子存在某些随机变化,且这些变化在切换绘制者时应保持不变时非常有用。如果两个 ImageParticle 都定义了该方面的显示方式,则它们会产生分歧,各自按照其定义的方式显示。

这种数据共享是在后台基于属性是隐式还是显式设置而进行的。 当前实现的一个缺点是,只能整体重置这些功能。因此,如果您显式设置了一个影响颜色的属性(例如 `redVariation`),然后将其重置(通过将 `redVariation ` 设为未定义),所有颜色数据都将被重置,并开始采用其他 `ImageParticles` 共享的任何颜色的隐式值。

注意: 图像粒子的最大数量 限制为 16383。

属性文档

alpha : real

要应用于图像的透明度(alpha)值。该值将与图像中的值以及“颜色”属性中的值相乘。

粒子采用加法混合模式,因此当多个粒子重叠时,单个粒子的透明度(alpha)越低,效果越明显。

Alpha 的取值范围为 0.0 到 1.0。

默认值为 1.0

alphaVariation : real

粒子之间α通道的差异。

Alpha的取值范围为0.0至1.0。

默认值为 0.0

autoRotation : bool

如果设置为 true,则会在粒子旋转的基础上额外应用一次旋转,使其朝向运动方向。因此,若要使其背向运动方向,请将 autoRotation 设为 true,并将 rotation 设为 180。

默认值为 false

blueVariation : real

颗粒之间蓝色通道的差异。

颜色按通道分别以0.0至1.0的范围进行测量。

默认值为 0.0

color : color

如果指定了颜色,提供的图片将使用该颜色进行着色。

默认值为白色(不作更改)。

colorTable : url

一张其颜色将作为一维纹理来确定粒子生命周期内颜色的图像。例如,当粒子处于生命周期的中间时,它将呈现图像中间位置指定的颜色。

该颜色将与“颜色”属性以及源图像的颜色进行混合。

colorVariation : real

该数值表示应用于单个粒子的颜色变化量。设置 colorVariation 相当于将redVariation 、greenVariation 和blueVariation 均设为同一数值。

每个通道在不同粒子之间的颜色变化幅度,最多可达其常规颜色的 colorVariation 倍。

颜色按通道计算,范围为 0.0 到 1.0。

默认值为 0.0

entryEffect : EntryEffect

该属性为粒子提供了基础且经济的进入和退出效果。如需进行精细控制,请参阅sizeTable 和opacityTable 。

有效取值为

常量描述
ImageParticle.None粒子只是出现和消失。
ImageParticle.Fade粒子在生命周期开始时从不透明度 0 淡入,在生命周期结束时淡出至 0。
ImageParticle.Scale粒子在生命周期开始时从 0 大小逐渐放大,并在生命周期结束时缩小回 0。

默认值为ImageParticle.Fade 。

greenVariation : real

颗粒之间绿色色通道的变化。

颜色按每个通道从 0.0 到 1.0 进行测量。

默认值为 0.0

opacityTable : url

一张图像,其不透明度将作为一维纹理,用于确定生命周期内的尺寸变化。

该属性预计将在不久后被移除,取而代之的是使用自定义缓动曲线来控制生命周期内的不透明度变化。

redVariation : real

颗粒之间红色色通道的差异。

颜色按每个通道从 0.0 到 1.0 进行测量。

默认值为 0.0

rotation : real

如果设置了此参数,图像在绘制前将按此角度进行旋转。

粒子坐标不会被变换。

rotationVariation : real

如果启用此设置,各个粒子之间的旋转角度差异将不超过此数值。

rotationVelocity : real

如果设置了该参数,粒子将以该速度(单位:度/秒)旋转。

rotationVelocityVariation : real

如果启用此设置,各个粒子之间的rotationVelocity 值将在此范围内发生变化。

sizeTable : url

一张图片,其不透明度将作为一维纹理,用于确定其生命周期内的尺寸变化。

该属性预计将在不久后被移除,取而代之的是使用自定义缓动曲线来确定生命周期内的尺寸变化。

source : url

要使用的源图像。

如果该图像是一个精灵动画,请改用 sprite 属性。

自 Qt 5.2 起,系统提供了若干默认图像作为资源,以辅助原型设计:

qrc:///particleresources/star.png白色星形粒子
qrc:///particleresources/glowdot.png发白光的点状粒子
qrc:///particleresources/fuzzydot.png白色绒毛状圆点颗粒

请注意,这些图像均为白色且半透明,以便色彩化和透明度设置能发挥最大效果。

sprites : list<Sprite> [read-only]

用于绘制此粒子的精灵(单个或多个)。

请注意,精灵图片将根据正在渲染的粒子大小被缩放为正方形。

有关详细信息,请参阅“精灵动画”概述。

spritesInterpolate : bool

如果设置为 true,精灵粒子将在每个渲染帧之间对精灵帧进行插值,使精灵看起来更平滑。

默认值为 true。

status : Status [read-only]

图像加载状态。

xVector : StochasticDirection

允许您在绘制粒子图像时对其进行变形。矩形图像将被变形,使其水平边呈该向量的形状,而不是 (1,0)。

yVector : StochasticDirection

允许您在绘制时变形粒子图像。矩形图像将被变形,使其垂直边呈现为该向量的形状,而不是 (0,1)。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.