Javascript 具有错误坐标的drawImage()
我有一个问题: 我正在使用html画布开发地图生成器,用户输入图像的X、Y、宽度和高度。 但是当我使用用户输入的drawImage时,图像不适合画布XY和选择的高度和宽度(以像素为单位)。我能用什么来解决这个问题吗Javascript 具有错误坐标的drawImage(),javascript,html,canvas,Javascript,Html,Canvas,我有一个问题: 我正在使用html画布开发地图生成器,用户输入图像的X、Y、宽度和高度。 但是当我使用用户输入的drawImage时,图像不适合画布XY和选择的高度和宽度(以像素为单位)。我能用什么来解决这个问题吗 <html lang=''> <head> <title>Map tools</title> </head> <body> <div align='center'> &l
<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>
地图工具
函数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=功能(){
drawImage(地面,co[0],co[1],co[2],co[3]);
}
}
地面未定义。我已经为你准备好了
地图工具
您的代码工作得非常好。只需将其添加到页面(创建图像对象)
地图工具
函数loadXml(){
co=document.getElementById(“xmlinput”).value.split(',')//X,Y,H,L
canvas=document.getElementById(“map”);
context=canvas.getContext(“2d”);
var地面=新图像();
ground.src=http://i.imgur.com/Z3DyMAM.png'
ground.onload=功能(){
drawImage(地面,co[0],co[1],co[2],co[3]);
}
}
我能看看你迄今为止尝试过的代码吗?除非你提供代码,否则我们不知道什么不起作用。哦,对不起,发布代码基本上,答案是地面未定义。是的,伙计..还有doctype..哈哈:我的问题是画布的高度是400px,如果我尝试设置y300,图像将从画布上消失!如何解决这个问题?在画布上绘制图像的尺寸是多少?当设置Y=300(即在画布上放置图像的Y位置)时,图像将从该位置绘制..足够简单huhh??
<!DOCTYPE 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>
</div>
</body>
<script>
function loadXml(){
co = document.getElementById("xmlinput").value.split(',') // X, Y, H, L
canvas = document.getElementById("map");
context = canvas.getContext("2d");
var ground=new Image();
ground.src = 'http://i.imgur.com/Z3DyMAM.png'
ground.onload = function (){
context.drawImage(ground, co[0], co[1], co[2], co[3]);
}
}
</script>
</html>