簡體   English   中英

獲取圖像像素坐標相對左上角

[英]get image pixel coordinates relative left top corner

我需要在點擊相對左上角獲取圖像坐標。 所以圖像的左上角是條件0,0然后第一個像素1,0 ... 2..0等。在javascript構造中有什么東西可以用來獲得這個邏輯嗎?

你可以嘗試這樣的事情: -

  <img id="board" style="z-index: 0; left: 300;position: absolute; top: 600px" align=baseline     border=0 hspace=0 src="design/board.gif">

  function findPos(obj){
  var curleft = 0;
  var curtop = 0;

  if (obj.offsetParent) {
do {
    curleft += obj.offsetLeft;
    curtop += obj.offsetTop;
   } while (obj = obj.offsetParent);

return {X:curleft,Y:curtop};
 }
}

 findPos(document.getElementById('board'));
 alert(curleft);
 alert(curtop);

使用Jquery $('#id')。offset()來獲取相對於窗口的元素位置,或者使用$('#id')。position()來獲取元素top,left相對於父元素。 另外看看這個問題 ,提供純(香草)javascript的答案。 這是jsFiddle的例子

HTML:

<div id="xRes">Top:<span></span></div>
<div id="yRes">Left:<span></span></div>

<input type="button" id="getPos" value="Get X,Y"/>

<img src="http://www.katimorton.com/wp-content/uploads/2012/05/mr-happy.jpg" id="myImg"/>

JS:

$(document).ready(function () {

    $('#myImg').draggable();

    $('#getPos').on('click', function(){

        var xRes = $('#xRes span'),
            yRes = $('#yRes span'),

            image = $('img#myImg');

        xRes.html(image.offset().top);
        yRes.html(image.offset().left);
    });
});

offsetLeft和offsetTop返回相對於文檔頂部/左角的位置:

function getCoordinates(elem) {
    var LeftPos = elem.offsetLeft;
    var TopPos = elem.offsetTop;
    return {X:LeftPos,Y:TopPos};
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM