画布图像绘制不工作
Canvas image drawing is not working
我试图在Javascript窗口加载后使用画布绘制图像,但我只能获得图像的一部分,我无法获得完整的图像。请帮帮我。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script>
window.onload = function() {
drawEx1();
}
var image1 = null;
function drawEx1() {
image1 = new Image();
image1.src =
"file:///C:/Users/Documents/project%20trails/app/i.jpg";
image1.addEventListener('load', drawImage1);
}
function drawImage1() {
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
context.drawImage(image1, 10, 10);
}
</script>
</head>
<body >
<div >
<input type="button" id="btn" value="submit" />
<canvas id="canvas1"></canvas>
</div>
</body>
</html>
将您的drawImage1
函数更改为以下内容。运行下面的代码片段,看看它是如何工作的。
function drawImage1() {
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
canvas.width = 400;
canvas.height = 400;
context.drawImage(image1, 0, 0, image1.width, image1.height, 0, 0, 400, 300);
}
<script>
window.onload = function() {
drawEx1();
}
var image1 = null;
function drawEx1() {
image1 = new Image();
image1.src =
"http://img.bleacherreport.net/img/images/photos/003/556/940/edab30087cea36c0ca206fc61a4b10fa_crop_north.jpg?w=630&h=420&q=75";
image1.addEventListener('load', drawImage1);
}
function drawImage1() {
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
canvas.width = 400;
canvas.height = 300;
context.drawImage(image1, 0, 0, image1.width, image1.height, 0, 0, 400, 300);
}
</script>
<body>
<div>
<input type="button" id="btn" value="submit" />
<canvas id="canvas1"></canvas>
</div>
</body>
在设置了源之后才初始化onload侦听器,这可能意味着onload事件永远不会触发
window.onload = function() {
drawEx1();
}
var image1 = null;
function drawEx1() {
image1 = new Image();
image1.addEventListener('load', drawImage1);
image1.src =
"file:///C:/Users/Documents/project%20trails/app/i.jpg";
}
function drawImage1() {
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
// resize the image as needed
context.drawImage(image1, 10, 10); // include desired image size and image width on this line
}
</script>
</head>
<body >
<div >
<input type="button" id="btn" value="submit" />
<canvas id="canvas1"></canvas>
</div>
</body>
</html>
我也会尝试运行解决方案是一个web服务器(IIS express, apache),并通过URL加载图像,而不是文件路径。我认为在这种情况下,你应该能够通过文件路径加载图像,但这可能会导致问题,当试图修改元素
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 用于绘制工作流图的JavaScript框架
- 未捕获的类型错误:对象#<HTML对象元素>没有方法'重新绘制工作流'
- 在html表中绘制画布;不能在JavaScript中工作
- 第一次加载时绘制到画布失败.刷新后就可以工作了
- 尝试使用javascript camgaze.js绘制图像,从网络摄像头实时检测人脸-不工作
- 在ajax后绘制的数据表上单击事件,该数据表不能从第二页工作
- 从文件绘制图像时,画布到base64不能工作
- 画布图像绘制不工作
- javascript onload不工作,但onclick正在工作css绘制线