0
在先前的問題(propagateComposedEvents: mouse data not accurate?)我有一個例程(下)用於檢查鼠標單擊點是否在Canvas
組件中的透明像素上。畫布:緩存imageData
var imageData = ctx.getImageData(mouseX, mouseY, 1, 1)
緩存「imageData」是否有任何表現理由,因爲在我的用例中,它不會改變?或者存儲器問題,它會反對緩存。還是我只是盯着這行太久....
MouseArea {
anchors.fill: parent
drag.target: parent
propagateComposedEvents: true
onClicked: {
var ctx = parent.getContext("2d")
var imageData = ctx.getImageData(mouseX, mouseY, 1, 1)
if (imageData.data[3] == 0){
console.log("graphic alpha clicked:", mouseX, mouseY);
mouse.accepted = false;
} else {
mouse.accepted = true;
}
}
}