Ich finde, dass die Einheit des Koordinatensystems von Canvas von der des Bildschirms unterscheidet.Was ist die Einheit des Koordinatensystems von Canvas? - android
Zum Beispiel in meinem Fall wie folgt: (336, 578)
für einen bestimmten Punkt, das auf dem Bildschirm von ImageView.getX()
und ImageView.getY()
erhalten koordinieren.
Dann durch Versuch und Irrtum, Ich zeichne einen Punkt auf der Leinwand, so dass dieser Punkt genau die gleiche Position wie die ImageView fällt. Ich habe canvas.drawCircle(330, 440, radius, paint);
genannt, um dies zu erreichen.
Hier kommt die Frage:
Warum würden die zwei Koordinaten (336, 578) und (330, 440), anders?
Ist es, weil der Bildschirm und die Leinwand unterschiedliche Einheiten verwenden?
Ist es ein Problem in Bezug auf Pixel, DP und all das?
Was bedeuten die von 'View.getLocationInWindow' erhaltenen Fensterkoordinaten? –
Es scheint viel Sinn zu machen. Wie kann ich die 2 Koordinaten vereinheitlichen? Vielen Dank! –
Ich habe eine weitere Beschreibung dazu hinzugefügt. Hoffe es hilft – nickmartens1980