Javascript 单击“调整图像大小”时获取实际偏移量

Javascript 单击“调整图像大小”时获取实际偏移量,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我正在开发一个显示photoshop窗口的程序,当你点击图像时,它也会在你点击图像的地方获得点击像素,我通过给出相对位置来实现这一点: $(“#屏幕”)。在('click',函数(e){ var offset=$(this.offset(); const relativeX=e.pageX-offset.left const relativeY=e.pageY-offset.top console.log('X:'+relativeX+'\nY:'+relativeY) }) 我的原始评论:

我正在开发一个显示photoshop窗口的程序,当你点击图像时,它也会在你点击图像的地方获得点击像素,我通过给出相对位置来实现这一点:

$(“#屏幕”)。在('click',函数(e){
var offset=$(this.offset();
const relativeX=e.pageX-offset.left
const relativeY=e.pageY-offset.top
console.log('X:'+relativeX+'\nY:'+relativeY)
})

我的原始评论:


您需要找出图像的原始大小和新大小,并使用它们来确定图像的渲染比例。确定他们在相对于图像左上角的屏幕坐标中单击的像素。按图像比例的倒数进行偏移的比例

基于该注释的代码:
(()=>{
常量$screen=$(“#screen”);
常量src=$screen.attr('src');
const img=新图像();
img.onload=()=>{
$screen.on('click',函数(e){
const scaleX=img.width/$screen.width();
const scaleY=img.height/$screen.height();
常量偏移量=$screen.offset();
const relativeX=(e.pageX-offset.left)*scaleX;
const relativeY=(e.pageY-offset.top)*scaleY;
log(`X:${relativeX}\nY:${relativeY}`);
});
};
img.src=src;
})();
#屏幕{
宽度:100%;
}


您需要找出图像的原始大小和新大小,并使用它们来确定图像的渲染比例。确定他们在相对于图像左上角的屏幕坐标中单击的像素。按图像比例的倒数缩放。@Ourobrus我已经尝试过了,我制作了另一个图像标记,并将可见性设置为“隐藏”,而不更改其大小,但仍然不起作用。