QSGImageNode 类
QSGImageNode 类提供便利,以便使用 QML 场景图轻松绘制纹理内容。 更多信息...
头文件 | #include <QSGImageNode> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake | QT += quick |
继承 | QSGGeometryNode |
公共类型
枚举 | TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically } |
标志 | TextureCoordinatesTransformMode |
公共函数
virtual QSGTexture::AnisotropyLevel | anisotropyLevel() const = 0 |
virtual QSGTexture::Filtering | filtering() const = 0 |
virtual QSGTexture::Filtering | mipmapFiltering() const = 0 |
virtual bool | ownsTexture() const = 0 |
virtual QRectF | rect() const = 0 |
virtual void | setAnisotropyLevel(QSGTexture::AnisotropyLevel level) = 0 |
virtual void | setFiltering(QSGTexture::Filtering filtering) = 0 |
virtual void | setMipmapFiltering(QSGTexture::Filtering filtering) = 0 |
virtual void | setOwnsTexture(bool owns) = 0 |
virtual void | setRect(const QRectF &rect) = 0 |
void | setRect(qreal x, qreal y, qreal w, qreal h) |
virtual void | setSourceRect(const QRectF &rect) = 0 |
void | setSourceRect(qreal x, qreal y, qreal w, qreal h) |
virtual void | setTexture(QSGTexture *texture) = 0 |
virtual void | setTextureCoordinatesTransform(QSGImageNode::TextureCoordinatesTransformMode mode) = 0 |
virtual QRectF | sourceRect() const = 0 |
virtual QSGTexture * | texture() const = 0 |
virtual QSGImageNode::TextureCoordinatesTransformMode | textureCoordinatesTransform() const = 0 |
静态公共成员
void | rebuildGeometry(QSGGeometry *g, QSGTexture *texture, const QRectF &rect, QRectF sourceRect, QSGImageNode::TextureCoordinatesTransformMode texCoordMode) |
成员类型文档
枚举 QSGImageNode::TextureCoordinatesTransformFlag
标志 QSGImageNode::TextureCoordinatesTransformMode
TextureCoordinatesTransformFlag 枚举用于指定用于为纹理四边形生成纹理坐标的模式。
常量 | 值 | 描述 |
---|---|---|
QSGImageNode::NoTransform | 0x00 | 纹理坐标与窗口坐标方向一致,即原点在左上角。 |
QSGImageNode::MirrorHorizontally | 0x01 | 纹理坐标相对于窗口坐标在水平轴上取反。 |
QSGImageNode::MirrorVertically | 0x02 | 纹理坐标相对于窗口坐标在垂直轴上取反。 |
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)
使用 texture、rect 中的坐标和 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
返回用于生成此节点纹理坐标的模式。
© 2024 Qt 公司有限公司。此处包含的文档贡献的著作权属于各自的拥有者。此处提供的文档根据自由软件基金会发布的GNU自由文档许可版本1.3的条款进行许可。Qt及其相关标志是芬兰和/或其他国家和地区的Qt公司在全球的商标。所有其他商标均为其各自所有者的财产。