2017-07-25 3 views
0

Ich versuche, ein Mausereignis in Pixel-Koordinaten innerhalb eines Videos zu konvertieren. Mit Pixelkoordinaten meine ich Koordinaten relativ zur ursprünglichen Videoauflösung.berechnen Mausposition in Video mit Objekt-fit: contain

Mein Video-Element hat object-fit: contain, was bedeutet, dass die obere linke Ecke des Videos nicht notwendigerweise an Position (0,0), wie dieses Bild zeigt:

enter image description here

Wenn ich auf der oberen linken klicken Ecke des weißen Abschnitts in diesem Video dann möchte ich (0,0) bekommen, aber um dies zu tun, muss ich den Offset des Video-Inhalts (weißer Bereich) relativ zum Video-Element (schwarzer Rand) entdecken.

Wie kann ich diesen Offset wiederherstellen?

Ich bin bereits bekannt width, height, videoWidth und videoHeight, aber diese nur lassen Sie mich erklären die Skalierung, nicht den Offset.

Antwort

0

Der Offset kann abgeleitet werden. Ich denke, diese Art von Code sollte den Trick tun:

if(videoHeight/height > videoWidth/width){ 
    scale = videoHeight/height; 
    offsetX = (videoWidth - width*scale)/2; 
    offsetY = 0; 
} 
else{ 
    scale = videoWidth/width; 
    offsetY = (videoHeight - height*scale)/2; 
    offsetX = 0; 
}