MapPolygon QML图像背景

时间:2017-10-12 16:22:36

标签: qt qml

我可以在地图上绘制一个多边形,这个多边形是一个矩形,我可以旋转它或重新缩放它。 关键是我想在这个矩形中绘制一个qpixmap作为背景,但我不知道怎么做,它甚至可能吗?MapPolygon中没有任何属性我可以将qpixmap分配给它。

Map {
    id: mapBase
    gesture.enabled: true
    anchors.fill: parent
    plugin: mapPlugin
    center: QtPositioning.coordinate(45,10)
    zoomLevel: 4
    z: parent.z + 1
    MapPolygon {
        color: 'green'
        path: [
            { latitude: -27, longitude: 153.0 },
            { latitude: -27, longitude: 154.1 },
            { latitude: -28, longitude: 153.5 }
        ]
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用OpacityMask,与QML图像一起使用

    MapPolygon {
        id: polygon
        color: 'white' // Any color, only alpha channel will be used
        path: [
            { latitude: -27, longitude: 153.0 },
            { latitude: -27, longitude: 154.1 },
            { latitude: -28, longitude: 153.5 }
        ]
        visible: false
    }

    Image {
        id: image
        source: "myImage.png"
        visible: false // hide it so it does not appear over the masked image
    }

    OpacityMask  // Actual masked image
    {
        source: image
        maskSource: polygon
        anchors.fill: polygon
    }