html5canvas(html5canvas拼图游戏源码)
HTML5中使用canvas绘制复杂图形
接下来,我们来看一下除了arc方法以外,其他使用路径绘制 图形 时会使用的方法。首先从绘制直线开始。
绘制直线一般会用到2个方法,分别是moveTo方法,lineTo方法
1. moveTo方法
moveTo方法的作用是将光标移动到指定的位置,绘制直线的时候以这个坐标为起点。使用如下:moveTo(x,y);
该方法有2个参数,x指指定左标的横坐标,y指指定坐标的纵坐标。
2. lineTo方法
lineTo方法是指在moveTo方法指定直线的起点和指定直线终点之间绘制一条直线。使用如下:
lineTo(x,y);
该方法的2个参数和moveTo方法的参数意义一样。使用该方法绘制完直线后,光标会自动移到lineTo指定的直线的终点。
因此,在创建路径时,需要使用moveTo方法将光标移动到指定的直线起点,使用lineTo方法在直线起点和直线终点之间创建路径,然后将光标移动到指定直线终点。
运行结果:

html5 canvas怎么载入图像
在canvas中显示图片非常简单。可以通过修正层为图片添加印章、拉伸图片或者修改图片等,并且图片通常会成为canvas上的焦点。用HTML5 Canvas API内置的几个简单命令可以轻松地为canvas添加图片内容。
不过,图片增加了canvas操作的复杂度:必须等到图片完全加载后才能对其进行操作。浏览器通常会在页面脚本执行的同时异步加载图片。如果试图在图片未完全加载之前就将其呈现到canvas上,那么canvas将不会显示任何图片。因此,开发人员要特别注意,在呈现之前,应确保图片已经加载完毕。
为保证在呈现之前图片已完全加载,我们提供了回调,即仅当图像加载完成时才执行后续代码,如代码清单如下所示。
?
script type="text/javascript"
function drawBeauty(beauty){
var mycv = document.getElementById("cv");
var myctx = mycv.getContext("2d");
myctx.drawImage(beauty, 0, 0);
}
function load(){
var beauty = new Image();
beauty.src = "";
if(beauty.complete){
drawBeauty(beauty);
}else{
beauty.onload = function(){
drawBeauty(beauty);
};
beauty.onerror = function(){
window.alert('美女加载失败,请重试');
};
};
}//load
if (document.all) {
window.attachEvent('onload', load);
}else {
window.addEventListener('load', load, false);
}
/script
基本绘画
在最基本的画图操作中,你需要的只是希望图像出现处的位置(x和y坐标)。图像的位置是相对于其左上角来判断的。使用这种方法,图像可以简单的以其原尺寸被画在画布上。
drawImage(image, x, y)
var canvas = document.getElementById(‘myCanvas’);
var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50);
ctx.drawImage(myImage, 125, 125);
ctx.drawImage(myImage, 210, 210);
缩放及调整尺寸
改变图像的尺寸,你需要使用重载的drawImage函数,提供给它希望的宽度和高度参数。
drawImage(image, x, y, width, height)
var canvas = document.getElementById(‘myCanvas’);
var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50, 100, 100);
ctx.drawImage(myImage, 125, 125, 200, 50);
ctx.drawImage(myImage, 210, 210, 500, 500);
图像裁剪
最后一个drawImage方法的功用是对图像进行裁剪。
drawImage(image,
sourceX,
sourceY,
sourceWidth,
sourceHeight,
destX,
destY,
destWidth,
destHeight)
参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。
如何判断浏览器是否支持HTML5 Canvas
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的body标签中,输入js代码:。
try{
document.createElement("canvas").getContext("2d");
$('body').append('支持canvas');
} catch (e) {
$('body').append('不支持canvas');
}
3、浏览器运行index.html页面,此时会打印出浏览器对html5 canvas的支持程度。
html5 Canvas 如何自适应屏幕大小?
用JS调制屏幕大小。
1.CSS 方面:去掉所有元素的外间距、内边距,html 和 body 宽高设为 100%,canvas 元素 display 设为 block。
2.JS 方面:监听窗口的 resize 事件,在窗口大小改变的同时调整 canvas 的大小。
3.完整代码这里我们使用 jQuery 来处理窗口尺寸改变事件响应,以及属性设置。
4.同时使用 $(window).get(0).innerHeight 获取窗口高度,而不是 $(window).height()。是因为后者效果并不完美,无法返回所有浏览器窗口的完整高度值,这样浏览器窗口中 canvas 元素和滚动条的四周可能会仍存在白色区域。
5.代码公式:!DOCTYPE htmlhtmlheadmeta charset="utf-8"title/titlescript src="jquery-3.1.1.js"/scriptstyle* {margin: 0;padding: 0;}html, body {height: 100%;width: 100%;}canvas {display: block;background: #D6F8FF;}/stylescript type="text/javascript"$(function() {//添加窗口尺寸改变响应监听$(window).resize(resizeCanvas);//页面加载后先设置一下canvas大小resizeCanvas();})//canvasfunctionresizeCanvas{$("#myCanvas").attr("width"$(window).get(0).innerWidth);$("#myCanvas").atr("height", $(window).get(0).innerHeight);};/script/headbodycanvas id="myCanvas" width="400" height="200"/body。
/html