Spaces:
Running
Running
File size: 923 Bytes
dd87944 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /** Convertit un clic sur l'image affichée en coordonnées viewport Playwright. */
export function mapImageClickToViewport(img, clientX, clientY, viewportW, viewportH) {
if (!img || !viewportW || !viewportH) return null;
const rect = img.getBoundingClientRect();
const naturalW = img.naturalWidth || viewportW;
const naturalH = img.naturalHeight || viewportH;
const scale = Math.min(rect.width / naturalW, rect.height / naturalH);
const renderedW = naturalW * scale;
const renderedH = naturalH * scale;
const offsetX = (rect.width - renderedW) / 2;
const offsetY = (rect.height - renderedH) / 2;
const localX = clientX - rect.left - offsetX;
const localY = clientY - rect.top - offsetY;
if (localX < 0 || localY < 0 || localX > renderedW || localY > renderedH) return null;
return {
x: Math.round((localX / renderedW) * viewportW),
y: Math.round((localY / renderedH) * viewportH),
};
}
|