javascript - Canvas 坐标错误的 drawImage()

标签 javascript html canvas

我有一个问题: 我正在研究 map 生成器,使用 html Canvas ,用户输入图像的 X、Y、宽度和高度。 但是当我将 drawImage 与用户输入一起使用时,图像不适合 Canvas XY 和选择的高度和宽度(以像素为单位)。有什么我可以用来解决这个问题的吗?

<html lang=''>
<head>
   <title>Map tools</title>
</head>
<body>
    <div align='center'>
        <canvas id='map' class='mapcanvas' width="800" height="400">
        </canvas>
        <p><a href="#" onclick="loadXml()" class="submitbutton">Send</a></p>
        <textarea id="xmlinput" class="inputTextArea" placeholder="coords"></textarea>
    </div>
</body>
<script>
function loadXml(){
co = document.getElementById("xmlinput").value.split(',') // X, Y, H, L
canvas = document.getElementById("map");
context = canvas.getContext("2d");
ground.src = 'http://i.imgur.com/Z3DyMAM.png'
ground.onload = function (){
context.drawImage(ground, co[0], co[1], co[2], co[3]);
}
}
</script>
</html>

最佳答案

地面未定义。我已经为您准备好了。

<html lang=''>
<head>
   <title>Map tools</title>
</head>
<body>
    <div align='center'>
        <canvas id='map' class='mapcanvas' width="800" height="400">
        </canvas>
        <p><a href="#" onclick="loadXml()" class="submitbutton">Send</a></p>
        <textarea id="xmlinput" class="inputTextArea" placeholder="coords"></textarea>
			<img id='ground' style='display: none' /> <!--You forgot the image!-->
    </div>
</body>
<script>
function loadXml(){
  var co = document.getElementById("xmlinput").value.split(','), // X, Y, H, L
      canvas = document.getElementById("map"),
      context = canvas.getContext("2d"),
      ground = document.getElementById('ground'); //ground was undefined!
  ground.src = 'http://i.imgur.com/Z3DyMAM.png'
  ground.onload = function (){
    context.drawImage(ground, co[0], co[1], co[2], co[3]);
  }
}
</script>
</html>

关于javascript - Canvas 坐标错误的 drawImage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643939/

相关文章:

php - 如何从 PHP 向 javascript 方法 Date.setTime() 提供值?

javascript - react : How to check if received props are undefined?

javascript - Douglas Crockford 所说的 'constructed in a different window or frame' 是什么意思?

javascript - 如何使用 AJAX 在 Javascript 中对 PHP 数组进行索引?

javascript - Canvas 已被跨源数据本地镜像污染

javascript - 使用 javascript 将子项附加到内联 SVG

div 的 CSS 背景图像底部

javascript - 在两个元素之间随机显示/隐藏

javascript - JavaScript 中的 canvas ImageData 是否包含 EXIF 信息?

reactjs - 在 React 的 Canvas 元素上加载图像