我现在一直试图让图像变焦,捏合和旋转一段时间基于这个github项目:https://github.com/vakrilov/native-script-pan-scale-demo/blob/master/app/main-page.js。但我不能完全正确地得到三角学。另外,我不确定为什么在onPinch方法中需要翻译。
//initial touch during onPinch method
//args has the touch positions and item is the item to scale
if (args.state === 1) {
var newOriginX = args.getFocusX() - item.translateX;
var newOriginY = args.getFocusY() - item.translateY;
var oldOriginX = item.originX * item.width;
var oldOriginY = item.originY * item.height;
item.translateX += (oldOriginX - newOriginX) * (1 - item.scaleX);
item.translateY += (oldOriginY - newOriginY) * (1 - item.scaleY);
item.originX = newOriginX / item.width;
item.originY = newOriginY / item.height;
startScale = item.scaleX;
}
非常感谢任何帮助。
答案 0 :(得分:2)
而不是使用item.width
和item.height
,您应该使用item.getMeasuredWidth()
和item.getMeasuredHeight()