QSGSimpleTextureNode 类
QSGSimpleTextureNode 类提供了方便的方式,以便通过 QML 场景图轻松绘制纹理内容。 更多...
头文件 | #include <QSGSimpleTextureNode> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake | QT += quick |
继承自 | QSGGeometryNode |
公共类型
枚举 | TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically } |
标志 | TextureCoordinatesTransformMode |
公共函数
QSGSimpleTextureNode() | |
virtual | ~QSGSimpleTextureNode() override |
QSGTexture::Filtering | filtering() const |
bool | ownsTexture() const |
QRectF | rect() const |
void | setFiltering(QSGTexture::Filtering filtering) |
void | setOwnsTexture(bool owns) |
void | setRect(const QRectF &r) |
void | setRect(qreal x, qreal y, qreal w, qreal h) |
void | setSourceRect(const QRectF &r) |
void | setSourceRect(qreal x, qreal y, qreal w, qreal h) |
void | setTexture(QSGTexture *texture) |
void | setTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode) |
QRectF | sourceRect() const |
QSGTexture * | texture() const |
QSGSimpleTextureNode::TextureCoordinatesTransformMode | textureCoordinatesTransform() const |
详细描述
警告:在添加到场景图进行渲染之前,简单纹理节点类必须具有纹理。
警告:此实用程序类仅在默认或软件后端运行时才有效。作为替代方案,建议使用通过 QQuickWindow::createImageNode 提供的 QSGImageNode。然而,当通过子类化和应用程序知道不会涉及特殊的场景图后端时,此独立类仍然很有用。
成员类型文档
枚举 QSGSimpleTextureNode::TextureCoordinatesTransformFlag
标志 QSGSimpleTextureNode::TextureCoordinatesTransformMode
使用 TextureCoordinatesTransformFlag 枚举指定用于生成纹理四边形的纹理坐标的模式。
常数 | 值 | 描述 |
---|---|---|
QSGSimpleTextureNode::NoTransform | 0x00 | 纹理坐标和数据窗口坐标方向一致,即以左上角为原点。 |
QSGSimpleTextureNode::MirrorHorizontally | 0x01 | 相对于数据窗口坐标,纹理坐标在水平轴上被反转。 |
QSGSimpleTextureNode::MirrorVertically | 0x02 | 相对于数据窗口坐标,纹理坐标在垂直轴上被反转。 |
The TextureCoordinatesTransformMode 类型是 QFlags<TextureCoordinatesTransformFlag> 的typedef。它存储了一个 TextureCoordinatesTransformFlag 值的 OR 组合。
成员函数文档
QSGSimpleTextureNode::QSGSimpleTextureNode()
构建一个新的简单纹理节点
[覆盖虚拟无异常]
QSGSimpleTextureNode::~QSGSimpleTextureNode()
销毁纹理节点
QSGTexture::Filtering QSGSimpleTextureNode::filtering() const
返回在此纹理节点上当前设置的过滤。
另请参阅setFiltering。
bool QSGSimpleTextureNode::ownsTexture() const
如果节点拥有纹理,则返回 true
;否则返回 false
。
另请参阅setOwnsTexture。
QRectF QSGSimpleTextureNode::rect() const
返回此纹理节点的目标矩形。
另请参阅setRect。
void QSGSimpleTextureNode::setFiltering(QSGTexture::Filtering filtering)
将此纹理节点的过滤设置为 filtering。
为了平滑缩放,使用 QSGTexture::Linear;对于正常缩放,使用 QSGTexture::Nearest。
另请参阅filtering。
void QSGSimpleTextureNode::setOwnsTexture(bool owns)
设置节点是否拥有纹理 owns。
默认情况下,节点不拥有纹理。
另请参阅ownsTexture() 和 setTexture。
void QSGSimpleTextureNode::setRect(const QRectF &r)
将此纹理节点的目标矩形设置为 r。
另请参阅rect。
void QSGSimpleTextureNode::setRect(qreal x, qreal y, qreal w, qreal h)
这是一个重载函数。
将此纹理节点的矩形设置为从 (x, y) 开始,宽 w 和高 h。
void QSGSimpleTextureNode::setSourceRect(const QRectF &r)
将此纹理节点的源矩形设置为 r。
另请参阅sourceRect。
void QSGSimpleTextureNode::setSourceRect(qreal x, qreal y, qreal w, qreal h)
这是一个重载函数。
设置此纹理节点显示纹理的矩形,从(x,y)开始,宽度为w,高度为h,相对于QSGTexture::textureSize。
void QSGSimpleTextureNode::setTexture(QSGTexture *texture)
设置此纹理节点的纹理为texture。
使用setOwnsTexture()设置节点是否应该拥有纹理。默认情况下,节点不拥有纹理。
注意:要在场景图中渲染,纹理节点在添加到场景图之前必须有一个纹理。
另请参阅:texture。
void QSGSimpleTextureNode::setTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode)
将生成纹理坐标的方法设置为mode。这可以用来获得纹理的正确方向。在使用第三方OpenGL库将纹理渲染到OpenGL时,通常需要这样做,因为OpenGL的y轴相对于Qt Quick是相反的。
另请参阅:textureCoordinatesTransform。
QRectF QSGSimpleTextureNode::sourceRect() const
返回此纹理节点的源矩形。
另请参阅:setSourceRect。
QSGTexture *QSGSimpleTextureNode::texture() const
返回此纹理节点的纹理。
另请参阅:setTexture。
QSGSimpleTextureNode::TextureCoordinatesTransformMode QSGSimpleTextureNode::textureCoordinatesTransform() const
返回用于为此节点生成纹理坐标的模式的值。
© 2024 Qt公司有限公司。本文件中的文档贡献是各自所有者的版权。提供的文档是在自由软件基金会发布的GNU自由文档许可协议版本1.3的条款下授予的。Qt及其相关徽标是芬兰及其它国家Qt公司的商标。所有其他商标均为各自所有者的财产。