UIÅàѵ֮ÃÀŮ˺Ò·þÓÎÏ·Ïê½â£¨¶þ£©
¸üÐÂʱ¼ä:2016Äê05ÔÂ17ÈÕ15ʱ47·Ö À´Ô´:ÀÖÓã²¥¿ÍUIÅàѵѧԺ ä¯ÀÀ´ÎÊý:
¶þ¡¢ÓÎÏ·´úÂëʵÏÖ
ÕâÀïΪÁ˼ò»¯ÓÎÏ·Âß¼£¬ÎÒÃÇʹÓõڶþÖÖ˼·À´ÊµÏÖÓÎÏ·£¬ÓÎÏ·´úÂëÈçÏ£º
<body>
<div class="xk">
<canvas id="mycanvas" width="320px" height="480px"></canvas>
</div>
<script type="text/javascript" >
var canvas=document.getElementById('mycanvas'); //»ñÈ¡canvasÔªËØ
var ready,canvas;
//»ñÈ¡¶ÔÏóÊÇÄÚ½¨µÄ HTML5 ¶ÔÏó£¬ÓµÓжàÖÖ»æÖƼ°Ìí¼ÓͼÏñµÄ·½·¨¡£
var ctx=canvas.getContext('2d');
var BRUSH_SIZE=18; //»±Ê´óС
imgup=new Image();//´´½¨image¶ÔÏó
mgback=new Image();
//¼ÓÔØÍ¼Æ¬ imgback.src="http://g.hiphotos.baidu.com/image/pic/item/a044ad345982b2b7c6d85fa437adcbef76099b0e.jpg"; imgup.src="http://d.hiphotos.baidu.com/image/pic/item/0d338744ebf81a4ca2768aa9d12a6059252da60e.jpg"; //ͼƬµÄµØÖ· ÎÒÒѾÉÏ´«ÔÚ°Ù¶ÈÉÏÁË
imgup.onload=function(){
//»æÖÆÔʼͼÏñ£¬£¨0,0£©±íʾͼÏñµÄ×óÉϽÇλÓëcanvas»²¼µÄλÖÃ
ctx.drawImage(imgup,0,0);
}
bindEvents();//Ö´Ðаó¶¨Ê¼þ
function bindEvents(){ //¶¨Òå°ó¶¨Ê¼þ £¬¼àÌýÊó±ê¶¯×÷
canvas.ontouchstart = canvas.onmousedown = function(e) { ready = true; };//Êó±êÞôÏÂ
canvas.ontouchend = canvas.ontouchcancel = canvas.onmouseup = canvas.onmouseout = (function(e) { ready = false; }); //Êó±ȩ̂ÞôÏÂ
canvas.ontouchmove = canvas.onmousemove = updateCanvas;//ÏàÓ¦Êó±êµÄÒÆ¶¯Ê¼þ
}
function updateCanvas(e){
if(!ready) {//Êó±êδÞôÏÂ
return;
}
var r = canvas.getBoundingClientRect();//»ñÈ¡µ±Ç°canvasÇøÓòµÄ×ø±ê
var vx = e.clientX - r.left;//»ñÈ¡Êó±êÔÚͼƬÉϵĺá×ø±ê
var vy = e.clientY - r.top;//»ñÈ¡Êó±êÔÚͼƬÉϵÄ
var bs = BRUSH_SIZE;
var bsr = bs/2;
if ( vx < bsr || vy < bsr) { //¾Ýcanvas±ßԵ̫½ü£¬ÔòÖ¸¶¨´Ëʱ"²ÁÊÃ"ÎÞЧ
return;
}
ctx.rect(vx-bsr, vy-bsr, bs, bs);//·ñÔòȦ¶¨µ±Ç°Ò»¿éÇøÓò·½±ã±»"Ìæ»»"ΪÏÂÒ»·ùͼµÄÏàÍ¬ÇøÓò
ctx.drawImage(imgback, vx-bsr, vy-bsr, bs, bs, vx-bsr, vy-bsr, bs, bs); //Ìæ»»
}
</script>
</body>
Èý¡¢×ܽá
ÔÚÉÏÊöÓÎÏ·´úÂëÖУ¬¼¸ºõûÓÐÄѶȣ¬»ù±¾¶¼ÊÇСÂß¼£¬¸ù¾Ý×¢Ê;ÍÄÜ¿´ÂÅÇå³þÕû¸ö˼·¡£µ«Êǰ¸Àý¿ÉÒԷdz£ºÃµÄÌåÏÖ³öHTML5Ç¿´óµÄ¹¦ÄÜ£¬ÏàÐźܶàͬѧ¶ÔÕâ¸ö°¸Àý¶¼ÓÐÐËȤ¡£
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍUIÅàѵѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍUIÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/ui