本页内容

BorderImageMesh QML Type

定义一个顶点排列方式与BorderImage 相同的网格。更多...

Import Statement: import QtQuick

属性

详细说明

BorderImageMesh 为ShaderEffect 提供了类似于BorderImage 的功能,而无需使用可能成本高昂的ShaderEffectSource 。

以下两种实现功能上等价:

BorderImage {
    id: borderImage
    border {
        left: 10
        right: 10
        top: 10
        bottom: 10
    }
    source: "myImage.png"
    visible: false
}
ShaderEffectSource {
    id: effectSource
    sourceItem: borderImage
    visible: false
}
ShaderEffect {
    property var source: effectSource
    ...
}
Image {
    id: image
    source: "myImage.png"
    visible: false
}
ShaderEffect {
    property var source: image
    mesh: BorderImageMesh {
        border {
            left: 10
            right: 10
            top: 10
            bottom: 10
        }
        size: image.sourceSize
    }
    ...
}

但 BorderImageMesh 版本通常可以得到更好的优化。

属性文档

border group

border.bottom : int

border.left : int

border.right : int

border.top : int

4条边框线(2条水平线和2条垂直线)将图像划分为9个区域,如下所示:

一个红色的圆角矩形,被虚线边框划分为9个标有编号的区域

每条边界线(左、右、上、下)都指定了相对于网格相应边缘的像素偏移量。默认情况下,每条边界线的值均为 0。

例如,以下定义将底边设置为距网格底边向上10像素处:

BorderImageMesh {
    border.bottom: 10
    // ...
}

horizontalTileMode : enumeration

verticalTileMode : enumeration

此属性描述了如何重复或拉伸图像的中间部分。

  • BorderImage.拉伸 - 缩放图像以适应可用区域。
  • BorderImage.Repeat - 将图像平铺直至无空隙。可能会裁剪最后一张图像。
  • BorderImage.Round - 与“重复”类似,但会缩小图像尺寸,以确保最后一张图像不会被裁剪。

每个属性的默认平铺模式为BorderImage.Stretch。

size : size

网格的基础尺寸。这通常对应于ShaderEffect 所使用的图像的sourceSize 。

© 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.