我正在开发一种旋转静态图像层的工具,目前面临围绕中心旋转的问题。 静态图像层必须围绕特定点旋转。 我使用precompose和postcompose钩子来改变画布并进行旋转。 但是图像围绕左下角旋转,而不是中心:
imgLayer.on("precompose", evt => {
const ratio = ol.has.DEVICE_PIXEL_RATIO
const pixel = map.getPixelFromCoordinate(center)
const ctx = evt.context
ctx.save()
ctx.translate(pixel[0] * ratio, pixel[1] * ratio)
ctx.rotate(rotation * Math.PI / 180)
ctx.translate(-pixel[0] * ratio, -pixel[1] * ratio)
})
imgLayer.on("postcompose", evt => {
const ctx = evt.context
ctx.restore()
})
jsFiddle:https://jsfiddle.net/wkkwbw85/
如何相对于中心旋转?