QSGImageNode 类

QSGImageNode 类提供便利,以便使用 QML 场景图轻松绘制纹理内容。 更多信息...

头文件 #include <QSGImageNode>
CMakefind_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmakeQT += quick
继承 QSGGeometryNode

公共类型

枚举TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically }
标志TextureCoordinatesTransformMode

公共函数

virtual QSGTexture::AnisotropyLevelanisotropyLevel() const = 0
virtual QSGTexture::Filteringfiltering() const = 0
virtual QSGTexture::FilteringmipmapFiltering() const = 0
virtual boolownsTexture() const = 0
virtual QRectFrect() const = 0
virtual voidsetAnisotropyLevel(QSGTexture::AnisotropyLevel level) = 0
virtual voidsetFiltering(QSGTexture::Filtering filtering) = 0
virtual voidsetMipmapFiltering(QSGTexture::Filtering filtering) = 0
virtual voidsetOwnsTexture(bool owns) = 0
virtual voidsetRect(const QRectF &rect) = 0
voidsetRect(qreal x, qreal y, qreal w, qreal h)
virtual voidsetSourceRect(const QRectF &rect) = 0
voidsetSourceRect(qreal x, qreal y, qreal w, qreal h)
virtual voidsetTexture(QSGTexture *texture) = 0
virtual voidsetTextureCoordinatesTransform(QSGImageNode::TextureCoordinatesTransformMode mode) = 0
virtual QRectFsourceRect() const = 0
virtual QSGTexture *texture() const = 0
virtual QSGImageNode::TextureCoordinatesTransformModetextureCoordinatesTransform() const = 0

静态公共成员

voidrebuildGeometry(QSGGeometry *g, QSGTexture *texture, const QRectF &rect, QRectF sourceRect, QSGImageNode::TextureCoordinatesTransformMode texCoordMode)

详细描述

警告:在将其添加到场景图进行渲染之前,图像节点类必须具有纹理。

成员类型文档

枚举 QSGImageNode::TextureCoordinatesTransformFlag
标志 QSGImageNode::TextureCoordinatesTransformMode

TextureCoordinatesTransformFlag 枚举用于指定用于为纹理四边形生成纹理坐标的模式。

常量描述
QSGImageNode::NoTransform0x00纹理坐标与窗口坐标方向一致,即原点在左上角。
QSGImageNode::MirrorHorizontally0x01纹理坐标相对于窗口坐标在水平轴上取反。
QSGImageNode::MirrorVertically0x02纹理坐标相对于窗口坐标在垂直轴上取反。

TextureCoordinatesTransformMode 类型是 QFlags<TextureCoordinatesTransformFlag> 的 typedef。它存储 TextureCoordinatesTransformFlag 值的 OR 组合。

成员函数文档

[纯虚函数] QSGTexture::AnisotropyLevel QSGImageNode::anisotropyLevel() const

返回此图像节点的各向异性级别。

另请参阅 setAnisotropyLevel

[纯虚函数] QSGTexture::Filtering QSGImageNode::filtering() const

返回此图像节点的过滤方式。

另请参阅 setFiltering

[纯虚函数] QSGTexture::Filtering QSGImageNode::mipmapFiltering() const

返回此图像节点的米集合过滤方式。

另请参阅 setMipmapFiltering

[纯虚函数] bool QSGImageNode::ownsTexture() const

如果节点拥有纹理的所有权,则返回 true;否则返回 false

另请参阅 setOwnsTexture

[静态] void QSGImageNode::rebuildGeometry(QSGGeometry *g, QSGTexture *texture, const QRectF &rect, QRectF sourceRect, QSGImageNode::TextureCoordinatesTransformMode texCoordMode)

使用 texturerect 中的坐标和 sourceRect 中的纹理坐标更新几何 g

g 假设是一个四顶点的三角形带,类型为 QSGGeometry::TexturedPoint2D

texCoordMode 用于规范 sourceRect

[纯虚函数] QRectF QSGImageNode::rect() const

返回此图像节点的目标矩形。

另请参阅 setRect

[纯虚函数] void QSGImageNode::setAnisotropyLevel(QSGTexture::AnisotropyLevel level)

将此图像节点的各向异性级别设置为 level

另请参阅 anisotropyLevel()。

[纯虚函数] void QSGImageNode::setFiltering(QSGTexture::Filtering filtering)

将此图像节点的过滤设置为 filtering

为了平滑缩放,使用 QSGTexture::Linear。对于常规缩放,使用 QSGTexture::Nearest

另请参阅 filtering()。

[纯虚函数] void QSGImageNode::setMipmapFiltering(QSGTexture::Filtering filtering)

将此图像节点的mipmap过滤设置为 filtering

为了在mipmap之间平滑缩放,使用 QSGTexture::Linear。对于常规缩放,使用 QSGTexture::Nearest

另请参阅 mipmapFiltering()。

[纯虚函数] void QSGImageNode::setOwnsTexture(bool owns)

设置节点是否拥有纹理的拥有权为 owns

默认情况下,节点不拥有纹理。

另请参阅 ownsTexture()。

[纯虚函数] void QSGImageNode::setRect(const QRectF &rect)

将此图像节点的目标矩形设置为 rect

另请参阅 rect()。

void QSGImageNode::setRect(qreal x, qreal y, qreal w, qreal h)

这是一个重载函数。

设置此图像节点的矩形,使其从 (x, y) 开始,并具有宽度 w 和高度 h

[纯虚函数] void QSGImageNode::setSourceRect(const QRectF &rect)

将此图像节点的源矩形设置为 rect

另请参阅 sourceRect()。

void QSGImageNode::setSourceRect(qreal x, qreal y, qreal w, qreal h)

这是一个重载函数。

设置此图像节点的矩形,以从 (x, y) 显示其纹理,并具有相对于 QSGTexture::textureSize 的宽度 w 和高度 h

[纯虚函数] void QSGImageNode::setTexture(QSGTexture *texture)

将此图像节点纹理设置为纹理

使用setOwnsTexture() 设置节点是否应接管纹理。默认情况下,节点不接管。

警告:要在场景图中渲染,图像节点必须在添加前具有纹理。

另请参阅:纹理

[纯虚函数] void QSGImageNode::setTextureCoordinatesTransform(QSGImageNode::TextureCoordinatesTransformMode mode)

将生成纹理坐标的方法设置为模式。这可以用于获取纹理的正确方向。当使用第三方OpenGL库将纹理渲染到OpenGL时,通常需要这样做,因为OpenGL的y轴与Qt Quick相反。

另请参阅:textureCoordinatesTransform

[纯虚函数] QRectF QSGImageNode::sourceRect() const

返回此图像节点的源矩形。

另请参阅:setSourceRect

[纯虚函数] QSGTexture *QSGImageNode::texture() const

返回此图像节点的纹理。

另请参阅:setTexture

[纯虚函数] QSGImageNode::TextureCoordinatesTransformMode QSGImageNode::textureCoordinatesTransform() const

返回用于生成此节点纹理坐标的模式。

另请参阅:setTextureCoordinatesTransform

© 2024 Qt 公司有限公司。此处包含的文档贡献的著作权属于各自的拥有者。此处提供的文档根据自由软件基金会发布的GNU自由文档许可版本1.3的条款进行许可。Qt及其相关标志是芬兰和/或其他国家和地区的Qt公司在全球的商标。所有其他商标均为其各自所有者的财产。