将屏幕坐标映射到具有不同高度/宽度比的图像

时间:2019-01-17 13:11:24

标签: javascript android ios react-native math

想象一下,屏幕上有汽车的图像,用户按下了门。我想知道用户按下了门。问题在于所有移动屏幕的尺寸都不同。我还需要图像的比例保持恒定,因为它看起来很奇怪。

我已经尝试解决此问题,目前已经解决了这一点。

这是我到目前为止所做的

获取触摸事件的位置。 将触摸事件的x和y位置分别除以屏幕的宽度和高度。 现在,这给了我0和1之间的x和y位置。左上角是0,0。右下角是1,1

我知道屏幕比例是2960:1440 = 1:0.48648648648649;

我知道图像比例为2960:1000 = 1:0.33783783783784;

我有一个对象,在0-1上绘制了相对于图像本身的不同汽车零件位置。我是在photoshop中完成的

func restoreIAPPurchases(completion: (() -> Void)) {
    if !self.canMakePayments {
        return
    }
    self.paymentQueue.restoreCompletedTransactions()
    completion()
}

let alertController = UIAlertController.vy_alertControllerWithTitle(nil, message:  "Restore will reprocess your existing subscription. You will not be charged", actionSheet: false)
    alertController.addAction("Ok")
    alertController.addActionWithTitle("Restore", style: .default) {
    IAPService.shared.restoreIAPPurchases {
       UIAlertController.vy_showAlertFrom(self, title: "Restore complete", message: "Successfully restored purchase")
     }
}
     alertController.presentFrom(self)

我知道,如果我现在可以将屏幕位置映射到我已经计算出的位置,那么这可能会起作用。我认为我需要某种可以通过使用比率来使用的补偿。我这样做是完全错误的还是我掌握的信息有可能吗?

这是图像在屏幕上的显示方式。

enter image description here

0 个答案:

没有答案