Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
canvas»æÖÆÏóÆå(canvas»æͼ)
 
  4299  次浏览      23
 2018-2-26 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚ²©¿Í ,±¾ÎÄHTML5ѧϰ×ܽáϵÁÐÖ®Ò»£¬canvas»æÖÆÏóÆå(canvas»æͼ)¼°Ó¦ÓÃʵÀý¡£

Ŀ¼

Ò»¡¢HTML5ѧϰ×ܽᡪ¡ªcanvas»æÖÆÏóÆå

1¡¢µÚÒ»´Î£ºcanvas»æÖÆÏóÆ壨±¿·½·¨£©Ê¾Àý´úÂë

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvas»æͼ_ÏóÆåÆåÅÌ</title>
</head>
<body>
<canvas id="canvas1" width="805" height="905">²»Ö§³ÖCanvas</canvas>
<script type="text/javascript">
//ÆåÅÌÍâ¿ò
var canvas1 = document.getElementById("canvas1");
var ctx = canvas1.getContext("2d");
ctx.lineWidth = 5;
ctx.strokeStyle = "brown";
ctx.strokeRect(3, 3, 800, 900)
//´Ë·½·¨ÓÃÀ´»­ÆåÅÌÏß
function LineDrawing(mx, my, lx, ly) {
ctx.beginPath();
ctx.moveTo(mx, my);
ctx.lineTo(lx, ly);
ctx.stroke();
};
//ÆåÅÌÁÐÉϰ벿·Ö
ctx.lineWidth = 2;
LineDrawing(100, 5, 100, 400);
LineDrawing(200, 5, 200, 400);
LineDrawing(300, 5, 300, 400);
//бÏß
LineDrawing(300, 5, 500, 200);
LineDrawing(400, 5, 400, 400);
LineDrawing(500, 5, 500, 400);
//·´Ð±Ïß
LineDrawing(500, 5, 300, 200);
LineDrawing(600, 5, 600, 400);
LineDrawing(700, 5, 700, 400);
LineDrawing(100, 5, 100, 400);
LineDrawing(100, 5, 100, 400);
//ÆåÅÌÁÐÏ°벿·Ö
LineDrawing(100, 500, 100, 900);
LineDrawing(200, 500, 200, 900);
LineDrawing(300, 500, 300, 900);
//бÏß
LineDrawing(300, 900, 500, 700);
LineDrawing(400, 500, 400, 900);
LineDrawing(500, 500, 500, 900);
//·´Ð±Ïß
LineDrawing(500, 900, 300, 700);
LineDrawing(600, 500, 600, 900);
LineDrawing(700, 500, 700, 900);
//ÆåÅÌÐÐ
LineDrawing(5, 100, 800, 100);
LineDrawing(5, 200, 800, 200);
LineDrawing(5, 300, 800, 300);
LineDrawing(5, 400, 800, 400);
LineDrawing(5, 500, 800, 500);
LineDrawing(5, 600, 800, 600);
LineDrawing(5, 700, 800, 700);
LineDrawing(5, 800, 800, 800);
//ÖÐÐĵãÒ»£¨100,200£©
//×óÉÏ
LineDrawing(90, 170, 90, 190);
LineDrawing(90, 190, 70, 190);
//ÓÒÉÏ
LineDrawing(110, 170, 110, 190);
LineDrawing(110, 190, 130, 190);
//×óÏÂ
LineDrawing(90, 230, 90, 210);
LineDrawing(90, 210, 70, 210);
//ÓÒÏÂ
LineDrawing(110, 230, 110, 210);
LineDrawing(110, 210, 130, 210);
//ÖÐÐĵã¶þ£¨700,200£©
//×óÉÏ
LineDrawing(690, 170, 690, 190);
LineDrawing(690, 190, 670, 190);
//ÓÒÉÏ
LineDrawing(710, 170, 710, 190);
LineDrawing(710, 190, 730, 190);
//×óÏÂ
LineDrawing(690, 230, 690, 210);
LineDrawing(690, 210, 670, 210);
//ÓÒÏÂ
LineDrawing(710, 230, 710, 210);
LineDrawing(710, 210, 730, 210);
//ÖÐÐĵãÈý£¨0,300£©
//ÓÒÉÏ
LineDrawing(20, 270, 20, 290);
LineDrawing(20, 290, 40, 290);
//ÓÒÏÂ
LineDrawing(20, 330, 20, 310);
LineDrawing(20, 310, 40, 310);
//ÖÐÐĵãËÄ£¨200,300£©
//×óÉÏ
LineDrawing(190, 270, 190, 290);
LineDrawing(190, 290, 170, 290);
//ÓÒÉÏ
LineDrawing(210, 270, 210, 290);
LineDrawing(210, 290, 230, 290);
//×óÏÂ
LineDrawing(190, 330, 190, 310);
LineDrawing(190, 310, 170, 310);
//ÓÒÏÂ
LineDrawing(210, 330, 210, 310);
LineDrawing(210, 310, 230, 310);
//ÖÐÐĵãÎ壨400,300£©
//×óÉÏ
LineDrawing(390, 270, 390, 290);
LineDrawing(390, 290, 370, 290);
//ÓÒÉÏ
LineDrawing(410, 270, 410, 290);
LineDrawing(410, 290, 430, 290);
//×óÏÂ
LineDrawing(390, 330, 390, 310);
LineDrawing(390, 310, 370, 310);
//ÓÒÏÂ
LineDrawing(410, 330, 410, 310);
LineDrawing(410, 310, 430, 310);
//ÖÐÐĵãÁù£¨600,300£©
//×óÉÏ
LineDrawing(590, 270, 590, 290);
LineDrawing(590, 290, 570, 290);
//ÓÒÉÏ
LineDrawing(610, 270, 610, 290);
LineDrawing(610, 290, 630, 290);
//×óÏÂ
LineDrawing(590, 330, 590, 310);
LineDrawing(590, 310, 570, 310);
//ÓÒÏÂ
LineDrawing(610, 330, 610, 310);
LineDrawing(610, 310, 630, 310);
//ÖÐÐĵãÆߣ¨800,300£©
//×óÉÏ
LineDrawing(790, 270, 790, 290);
LineDrawing(790, 290, 770, 290);
//×óÏÂ
LineDrawing(790, 330, 790, 310);
LineDrawing(790, 310, 770, 310);
//ÖÐÐĵã°Ë¡ª¡ª¶ÔÓ¦ÖÐÐĵãÆߣ¨800,600£©
//×óÉÏ
LineDrawing(790, 570, 790, 590);
LineDrawing(790, 590, 770, 590);
//×óÏÂ
LineDrawing(790, 630, 790, 610);
LineDrawing(790, 610, 770, 610);
//ÖÐÐĵã¾Å¡ª¡ª¶ÔÓ¦ÖÐÐĵãÁù£¨600,600£©
//×óÉÏ
LineDrawing(590, 570, 590, 590);
LineDrawing(590, 590, 570, 590);
//ÓÒÉÏ
LineDrawing(610, 570, 610, 590);
LineDrawing(610, 590, 630, 590);
//×óÏÂ
LineDrawing(590, 630, 590, 610);
LineDrawing(590, 610, 570, 610);
//ÓÒÏÂ
LineDrawing(610, 630, 610, 610);
LineDrawing(610, 610, 630, 610);
//ÖÐÐĵãÊ®¡ª¡ª¶ÔÓ¦ÖÐÐĵãÎ壨400,600£©
//×óÉÏ
LineDrawing(390, 570, 390, 590);
LineDrawing(390, 590, 370, 590);
//ÓÒÉÏ
LineDrawing(410, 570, 410, 590);
LineDrawing(410, 590, 430, 590);
//×óÏÂ
LineDrawing(390, 630, 390, 610);
LineDrawing(390, 610, 370, 610);
//ÓÒÏÂ
LineDrawing(410, 630, 410, 610);
LineDrawing(410, 610, 430, 610);
//ÖÐÐĵãʮһ¡ª¡ª¶ÔÓ¦ÖÐÐĵãËÄ£¨200,600£©
//×óÉÏ
LineDrawing(190, 570, 190, 590);
LineDrawing(190, 590, 170, 590);
//ÓÒÉÏ
LineDrawing(210, 570, 210, 590);
LineDrawing(210, 590, 230, 590);
//×óÏÂ
LineDrawing(190, 630, 190, 610);
LineDrawing(190, 610, 170, 610);
//ÓÒÏÂ
LineDrawing(210, 630, 210, 610);
LineDrawing(210, 610, 230, 610);
//ÖÐÐĵãÊ®¶þ¡ª¡ª¶ÔÓ¦ÖÐÐĵãÈý£¨0,600£©
//ÓÒÉÏ
LineDrawing(20, 570, 20, 590);
LineDrawing(20, 590, 40, 590);
//ÓÒÏÂ
LineDrawing(20, 630, 20, 610);
LineDrawing(20, 610, 40, 610);
//ÖÐÐĵãÊ®Èý¡ª¡ª¶ÔÓ¦ÖÐÐĵã¶þ£¨700,500£©
//×óÉÏ
LineDrawing(690, 670, 690, 690);
LineDrawing(690, 690, 670, 690);
//ÓÒÉÏ
LineDrawing(710, 670, 710, 690);
LineDrawing(710, 690, 730, 690);
//×óÏÂ
LineDrawing(690, 730, 690, 710);
LineDrawing(690, 710, 670, 710);
//ÓÒÏÂ
LineDrawing(710, 730, 710, 710);
LineDrawing(710, 710, 730, 710);
//ÖÐÐĵãÊ®ËÄ¡ª¡ª¶ÔÓ¦ÖÐÐĵãÒ»£¨100,500£©
//×óÉÏ
LineDrawing(90, 670, 90, 690);
LineDrawing(90, 690, 70, 690);
//ÓÒÉÏ
LineDrawing(110, 670, 110, 690);
LineDrawing(110, 690, 130, 690);
//×óÏÂ
LineDrawing(90, 730, 90, 710);
LineDrawing(90, 710, 70, 710);
//ÓÒÏÂ
LineDrawing(110, 730, 110, 710);
LineDrawing(110, 710, 130, 710);
//×ÖÌåÌî³ä£º³þºÓ ºº½ç
//ÉèÖÃÏß¿í
ctx.lineWidth = 1;
//»æÖÆÎÄ×Ö
ctx.font = "60px microsoft yahei";
ctx.save();//±£´æµã
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / 2; // »¡¶ÈÖÆ
ctx.rotate(radian); // Ðýת»­²¼»æÖƿ̶È
//Ìî³ä
ctx.fillText("³þ", -30, -270);
ctx.fillText("ºÓ", -30, -150);
ctx.restore();//»Ö¸´µ½±£´æµã
ctx.save();
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / -2;
ctx.rotate(radian);
ctx.fillText("ºº", -30, -270);
ctx.fillText("½ç", -30, -150);
ctx.restore();
</script>
</body>
</html>

ÔËÐнá¹û£º

С½á£º ¸Õ¸ÕѧϰÁËcanvas,×öÁËÒ»¸ö¼òµ¥µÄʾÀý£¬Ï£ÍûÄܹ®¹ÌÒ»ÏÂ×Ô¼ºËùѧµÄ֪ʶ£¬´ÓÉÏÃæµÄ´úÂë¿ÉÒÔ¿´³ö´æÔںܶ಻×ãµÄµØ·½£¬±ÈÈç:´úÂëÈßÓà,»æÖÆÆåÅ̵ķ½·¨Ò²²»ÊǺܺã¬ËäÈ»¹¦ÄÜÊÇʵÏÖÁË£¬µ«×÷ΪһÃûд³ÌÐòµÄ³ÌÐòÔ±ÎÒÃÇҪ׷ÇóÍêÃÀ£¬²»ÊÇÂ𣿣¬ËùÒÔÎÒÓÖ·ÖÎöÁËÒ»ÏÂÎÒдµÄ´úÂ룬·¢ÏÖÓкܶà¿ÉÒԸĽøµÄµØ·½±ÈÈ磺»æÖÆÆåÅ̵ķ½·¨¿ÉÒÔÓÃÑ­»·À´×öÏà¶ÔºÃһЩ£¬ÏÂÃæÊÇÎҵĵڶþ´Î´úÂë¸Ä½ø¡£

2¡¢µÚ¶þ´Î£ºcanvas»æÖÆÏóÆ壨¸Ä½ø£©Ê¾Àý´úÂë

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvas»æͼ_ÏóÆåÆåÅÌ</title>
</head>
<body>
<canvas id="canvas1" width="805" height="905">²»Ö§³ÖCanvas</canvas>
<script type="text/javascript">
//ÆåÅÌÍâ¿ò
var canvas1 = document.getElementById("canvas1");
var ctx = canvas1.getContext("2d");
ctx.lineWidth = 5;
ctx.strokeStyle = "brown";
ctx.strokeRect(3, 3, 800, 900)
//´Ë·½·¨ÓÃÀ´»­ÆåÅÌÏß
function LineDrawing(mx, my, lx, ly) {
ctx.beginPath();
ctx.moveTo(mx, my);
ctx.lineTo(lx, ly);
ctx.stroke();
};
//ÆåÅÌÐÐ
function row() {
for(var i = 100; i <= 800; i += 100) {
ctx.beginPath();
ctx.moveTo(5, i);
ctx.lineTo(800, i);
ctx.stroke();
}
}
row();
//ÆåÅÌÁÐ
function cols() {
for(var i = 100; i <= 700; i += 100) {
ctx.beginPath();
ctx.moveTo(i, 5);
ctx.lineTo(i, 900);
ctx.stroke();
}
//Çå³ýÖ¸¶¨µÄ¾ØÐÎÇøÓò
ctx.clearRect(5, 402, 795, 95);
//бÏß
LineDrawing(300, 5, 500, 200);
LineDrawing(300, 705, 500, 900);
//·´Ð±Ïß
LineDrawing(500, 5, 300, 200);
LineDrawing(500, 705, 300, 900);
}
cols();
function center(x, y) {
//ÖÐÐĵãÒ»£¨100,200£©
//×óÉÏ
LineDrawing(x - 10, y - 30, x - 10, y - 10);
LineDrawing(x - 10, y - 10, x - 30, y - 10);
//ÓÒÉÏ
LineDrawing(x + 10, y - 30, x + 10, y - 10);
LineDrawing(x + 10, y - 10, x + 30, y - 10);
//×óÏÂ
LineDrawing(x - 10, y + 30, x - 10, y + 10);
LineDrawing(x - 10, y + 10, x - 30, y + 10);
//ÓÒÏÂ
LineDrawing(x + 10, y + 30, x + 10, y + 10);
LineDrawing(x + 10, y + 10, x + 30, y + 10);
}
//ÖÐÐĵãÒ»£¨100,200£©
center(100, 200);
//ÖÐÐĵã¶þ£¨700,200£©
center(700, 200);
//ÖÐÐĵãÈý£¨5,300£©
center(5, 300);
//ÖÐÐĵãËÄ£¨200,300£©
center(200, 300);
//ÖÐÐĵãÎ壨400,300£©
center(400, 300);
//ÖÐÐĵãÁù£¨600,300£©
center(600, 300);
//ÖÐÐĵãÆߣ¨800,300£©
center(800, 300);
//ÖÐÐĵã°Ë£¨800,600£©
center(800, 600);
//ÖÐÐĵã¾Å£¨600,600£©
center(600, 600);
//ÖÐÐĵãÊ®£¨400,600£©
center(400, 600);
//ÖÐÐĵãʮһ£¨200,600£©
center(200, 600);
//ÖÐÐĵãÊ®¶þ£¨5,600£©
center(5, 600);
//ÖÐÐĵãÊ®Èý£¨700,700£©
center(700, 700);
//ÖÐÐĵãÊ®ËÄ£¨100,700£©
center(100, 700);
//×ÖÌåÌî³ä£º³þºÓ ºº½ç
//ÉèÖÃÏß¿í
ctx.lineWidth = 1;
//»æÖÆÎÄ×Ö
ctx.font = "60px microsoft yahei";
ctx.save(); //±£´æµã
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / 2; // »¡¶ÈÖÆ
ctx.rotate(radian); // Ðýת»­²¼»æÖƿ̶È
//Ìî³ä
ctx.fillText("³þ", -30, -270);
ctx.fillText("ºÓ", -30, -150);
ctx.restore(); //»Ö¸´µ½±£´æµã
ctx.save();
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / -2;
ctx.rotate(radian); // Ðýת»­²¼»æÖƿ̶È
ctx.fillText("ºº", -30, -270);
ctx.fillText("½ç", -30, -150);
ctx.restore();
</script>
</body>
</html>

ÔËÐнá¹û£º

С½á£º¾­¹ýÒ»·¬¸Ä½ø£¬´úÂë´ÓÔ­À´µÄ245ÐдúÂë¼õÉÙµ½ÁË125ÐУ¬´úÂëÈßÓàºÍ·½·¨Ê¹ÓõÄÎÊÌâ½â¾öÁË£¬ÄÇôÊDz»ÊÇÍêÊÂÁËÄØ£¿ÎÒÔٴμì²éÁËÒ»ÏÂÎÒдµÄ´úÂ룬·¢ÏÖ»¹ÊÇÓиĽøµÄµØ·½£¬¾ÍÊÇJavaScript½Å±¾Ð´µÄ±È½ÏÂÒ,¶¨ÒåµÄ·½·¨±äÁ¿¶¼±©Â¶¶¼Ö±½Ó±©Â¶ÔÚwindowÏÂÓпÉÄÜÓë±ðµÄjs³åÍ»£¬¿ÉÒÔ½øÐмòµ¥·â×°£¬ÏÂÃæÊÇÎҵĵÚÈý´Î´úÂë¸Ä½ø¡£

3¡¢µÚÈý´Î£ºcanvas»æÖÆÏóÆ壨·â×°JavaScript£©Ê¾Àý´úÂë

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvas»æͼ_ÏóÆåÅÌ</title>
</head>
<body>
<canvas id="canvas1" width="805" height="905">²»Ö§³ÖCanvas</canvas>
<script type="text/javascript">
var object = {
//³õʼ»¯
init: function() {
//ÆåÅÌÍâ¿ò
var canvas1 = document.getElementById("canvas1");
this.ctx = canvas1.getContext("2d");
this.ctx.lineWidth = 5;
this.ctx.strokeStyle = "brown";
this.ctx.strokeRect(3, 3, 800, 900);
this.row();
this.cols();
this.drawFont();
//ÖÐÐĵãÒ»£¨100,200£©
this.center(100, 200);
//ÖÐÐĵã¶þ£¨700,200£©
this.center(700, 200);
//ÖÐÐĵãÈý£¨5,300£©
this.center(5, 300);
//ÖÐÐĵãËÄ£¨200,300£©
this.center(200, 300);
//ÖÐÐĵãÎ壨400,300£©
this.center(400, 300);
//ÖÐÐĵãÁù£¨600,300£©
this.center(600, 300);
//ÖÐÐĵãÆߣ¨800,300£©
this.center(800, 300);
//ÖÐÐĵã°Ë£¨800,600£©
this.center(800, 600);
//ÖÐÐĵã¾Å£¨600,600£©
this.center(600, 600);
//ÖÐÐĵãÊ®£¨400,600£©
this.center(400, 600);
//ÖÐÐĵãʮһ£¨200,600£©
this.center(200, 600);
//ÖÐÐĵãÊ®¶þ£¨5,600£©
this.center(5, 600);
//ÖÐÐĵãÊ®Èý£¨700,700£©
this.center(700, 700);
//ÖÐÐĵãÊ®ËÄ£¨100,700£©
this.center(100, 700);
},
//´Ë·½·¨ÓÃÀ´»­ÆåÅÌÏß
LineDrawing: function(mx, my, lx, ly) {
this.ctx.beginPath();
this.ctx.moveTo(mx, my);
this.ctx.lineTo(lx, ly);
this.ctx.stroke();
},
//ÆåÅÌÐÐ
row: function() {
for(var i = 100; i <= 800; i += 100) {
this.ctx.beginPath();
this.ctx.moveTo(5, i);
this.ctx.lineTo(800, i);
this.ctx.stroke();
}
},
//ÆåÅÌÁÐ
cols: function() {
for(var i = 100; i <= 700; i += 100) {
this.ctx.beginPath();
this.ctx.moveTo(i, 5);
this.ctx.lineTo(i, 900);
this.ctx.stroke();
}
//Çå³ýÖ¸¶¨µÄ¾ØÐÎÇøÓò
this.ctx.clearRect(5, 402, 795, 95);
//бÏß
this.LineDrawing(300, 5, 500, 200);
this.LineDrawing(300, 705, 500, 900);
//·´Ð±Ïß
this.LineDrawing(500, 5, 300, 200);
this.LineDrawing(500, 705, 300, 900);
},
//×ø±êµÄÖÐÐĵã
center: function(x, y) {
this.ctx.lineWidth = 5;
//ÖÐÐĵãÒ»£¨100,200£©
//×óÉÏ
this.LineDrawing(x - 10, y - 30, x - 10, y - 10);
this.LineDrawing(x - 10, y - 10, x - 30, y - 10);
//ÓÒÉÏ
this.LineDrawing(x + 10, y - 30, x + 10, y - 10);
this.LineDrawing(x + 10, y - 10, x + 30, y - 10);
//×óÏÂ
this.LineDrawing(x - 10, y + 30, x - 10, y + 10);
this.LineDrawing(x - 10, y + 10, x - 30, y + 10);
//ÓÒÏÂ
this.LineDrawing(x + 10, y + 30, x + 10, y + 10);
this.LineDrawing(x + 10, y + 10, x + 30, y + 10);
},
drawFont: function() {
this.ctx.lineWidth = 1;
//»æÖÆÎÄ×Ö
this.ctx.font = "60px microsoft yahei";
this.ctx.save(); //±£´æµã
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
this.ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / 2; // »¡¶ÈÖÆ Math.PI=¦Ð
this.ctx.rotate(radian); // Ðýת»­²¼»æÖƿ̶È
//Ìî³ä

this.ctx.fillText("³þ", -30, -270);
this.ctx.fillText("ºÓ", -30, -150);
this.ctx.restore(); //»Ö¸´µ½±£´æµã
this.ctx.save();
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
this.ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / -2;
this.ctx.rotate(radian);
this.ctx.fillText("ºº", -30, -270);
this.ctx.fillText("½ç", -30, -150);
this.ctx.restore();
}
};
object.init();
</script>
</body>
</html>

ÔËÐнá¹û£º

С½á£º¾­¹ý¼òµ¥·â×°ºóµÄ´úÂ룬ÔÚÕû¸öwindow¶ÔÏóÖÐÖ»±©Â¶object¶ÔÏó£¬ÕâÑù¿´ÆðÀ´¾Í±È½ÏºÃһЩÁË£¬µ½ÏÖÔÚΪֹÕâ¸ö¼òµ¥µÄʾÀý¾Í¿ÉÒÔ˵ÊÇ×öÍêÁË£¬ÉîºôÁË¿ÚÆø£¬ÖÕÓÚ×öÍêÁË£¬È»ºó£¬Ôٴο´ÁËÏÂÕâ¸öÆåÅÌ£¬·¢ÏÖºÃÏñ»¹È±Á˵ãʲô¶«Î÷£¬¶Ô£¬´Ë¿ÌÎÒÒâʶµ½ÁË£¬ÊÇȱÁ˵㶫Î÷£¬ÏóÆå...ÏóÆå,Ö»ÓÐÆåÅÌûÓÐÆå×ÓÔõôÐУ¿È»ºóÓÖ×öÁËһЩ¸Ä½ø£¬ÏÂÃæÊÇÎҵĵÚËĴδúÂë¸Ä½ø¡£

4¡¢µÚËĴΣºcanvas»æÖÆÏóÆ壨·â×°JavaScript£©+»æÖÆÆå×ÓʾÀý´úÂë

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvas»æͼ_ÏóÆåÅÌ</title>
</head>
<body>
<canvas id="canvas1" style="background-color:burlywood" width="1005" height="1105">²»Ö§³ÖCanvas</canvas>
<img src="../img/blue-ju.gif" id="ju" hidden="hidden" />
<img src="../img/blue-ma.gif" id="ma" hidden="hidden" />
<img src="../img/blue-xiang.gif" id="xiang" hidden="hidden" />
<img src="../img/blue-shi.gif" id="shi" hidden="hidden" />
<img src="../img/blue-jiang.gif" id="jiang" hidden="hidden" />
<img src="../img/blue-pao.gif" id="pao" hidden="hidden" />
<img src="../img/blue-bing.gif" id="bing" hidden="hidden" />
<img src="../img/red-ju.gif" id="r_ju" hidden="hidden" />
<img src="../img/red-ma.gif" id="r_ma" hidden="hidden" />
<img src="../img/red-xiang.gif" id="r_xiang" hidden="hidden" />
<img src="../img/red-shi.gif" id="r_shi" hidden="hidden" />
<img src="../img/red-jiang.gif" id="r_jiang" hidden="hidden" />
<img src="../img/red-pao.gif" id="r_pao" hidden="hidden" />
<img src="../img/red-bing.gif" id="r_bing" hidden="hidden" />
<script type="text/javascript">
var object = {
//³õʼ»¯
init: function() {
//ÆåÅÌÍâ¿ò
var canvas1 = document.getElementById("canvas1");
this.ctx = canvas1.getContext("2d");
this.ctx.lineWidth = 5;
this.ctx.strokeStyle = "brown";
this.ctx.strokeRect(100, 100, 800, 900);
this.row();
this.cols();
this.drawFont();
//×¢Ò⣺ÏÖÔÚµÄÔ­µãÖÐÐÄΪ£¨100,100£©£¬ËùÒÔÏÂÃæµÄËùÓÐ×ø±êÔÚÔ­À´µÄ»ù´¡Éϼӣ¨x+100,y+100£©£»
//ÖÐÐĵãÒ»£¨1000,200£©
this.center(200, 300);
//ÖÐÐĵã¶þ£¨700,200£©
this.center(800, 300);
//ÖÐÐĵãÈý£¨5,300£©
this.center(105, 400);
//ÖÐÐĵãËÄ£¨200,300£©
this.center(300, 400);
//ÖÐÐĵãÎ壨400,300£©
this.center(500, 400);
//ÖÐÐĵãÁù£¨600,300£©
this.center(700, 400);
//ÖÐÐĵãÆߣ¨800,300£©
this.center(900, 400);
//ÖÐÐĵã°Ë£¨800,600£©
this.center(900, 700);
//ÖÐÐĵã¾Å£¨600,600£©
this.center(700, 700);
//ÖÐÐĵãÊ®£¨400,600£©
this.center(500, 700);
//ÖÐÐĵãʮһ£¨200,600£©
this.center(300, 700);
//ÖÐÐĵãÊ®¶þ£¨5,600£©
this.center(105, 700);
//ÖÐÐĵãÊ®Èý£¨700,700£©
this.center(800, 800);
//ÖÐÐĵãÊ®ËÄ£¨100,700£©
this.center(200, 800);
//±ØÐëµ±Ò³ÃæÖеÄͼƬ×ÊÔ´¼ÓÔسɹ¦,ÔÙ»­Æå×Ó
window.onload = function() {
//Æå×ÓͼƬ
var ju = document.getElementById("ju");
var ma = document.getElementById("ma");
var xiang = document.getElementById("xiang");
var shi = document.getElementById("shi");
var jiang = document.getElementById("jiang");
var bing = document.getElementById("bing");
var pao = document.getElementById("pao");
var r_ju = document.getElementById("r_ju");
var r_ma = document.getElementById("r_ma");
var r_xiang = document.getElementById("r_xiang");
var r_shi = document.getElementById("r_shi");
var r_jiang = document.getElementById("r_jiang");
var r_bing = document.getElementById("r_bing");
var r_pao = document.getElementById("r_pao");
//½«Æå×ÓͼÏñ»æÖƵ½»­²¼ÉÏ
object.ctx.drawImage(ju, 50, 50, 100, 100);
object.ctx.drawImage(ma, 150, 50, 100, 100);
object.ctx.drawImage(xiang, 250, 50, 100, 100);
object.ctx.drawImage(shi, 350, 50, 100, 100);
object.ctx.drawImage(jiang, 450, 50, 100, 100);
object.ctx.drawImage(shi, 550, 50, 100, 100);
object.ctx.drawImage(xiang, 650, 50, 100, 100);
object.ctx.drawImage(ma, 750, 50, 100, 100);
object.ctx.drawImage(ju, 850, 50, 100, 100);
object.ctx.drawImage(pao, 150, 250, 100, 100);
object.ctx.drawImage(pao, 750, 250, 100, 100);
object.ctx.drawImage(bing, 50, 350, 100, 100);
object.ctx.drawImage(bing, 250, 350, 100, 100);
object.ctx.drawImage(bing, 450, 350, 100, 100);
object.ctx.drawImage(bing, 650, 350, 100, 100);
object.ctx.drawImage(bing, 850, 350, 100, 100);
object.ctx.drawImage(r_ju, 50, 950, 100, 100);
object.ctx.drawImage(r_ma, 150, 950, 100, 100);
object.ctx.drawImage(r_xiang, 250, 950, 100, 100);
object.ctx.drawImage(r_shi, 350, 950, 100, 100);
object.ctx.drawImage(r_jiang, 450, 950, 100, 100);
object.ctx.drawImage(r_shi, 550, 950, 100, 100);
object.ctx.drawImage(r_xiang, 650, 950, 100, 100);
object.ctx.drawImage(r_ma, 750, 950, 100, 100);
object.ctx.drawImage(r_ju, 850, 950, 100, 100);
object.ctx.drawImage(r_pao, 150, 750, 100, 100);
object.ctx.drawImage(r_pao, 750, 750, 100, 100);
object.ctx.drawImage(r_bing, 50, 650, 100, 100);
object.ctx.drawImage(r_bing, 250, 650, 100, 100);
object.ctx.drawImage(r_bing, 450, 650, 100, 100);
object.ctx.drawImage(r_bing, 650, 650, 100, 100);
object.ctx.drawImage(r_bing, 850, 650, 100, 100);
}
},
//´Ë·½·¨ÓÃÀ´»­ÆåÅÌÏß
LineDrawing: function(mx, my, lx, ly) {
this.ctx.beginPath();
this.ctx.moveTo(mx, my);
this.ctx.lineTo(lx, ly);
this.ctx.stroke();
},
//ÆåÅÌÐÐ
row: function() {
for(var i = 200; i <= 900; i += 100) {
this.ctx.beginPath();
this.ctx.moveTo(105, i);
this.ctx.lineTo(900, i);
this.ctx.stroke();
}
},
//ÆåÅÌÁÐ
cols: function() {
for(var i = 200; i <= 800; i += 100) {
this.ctx.beginPath();
this.ctx.moveTo(i, 105);
this.ctx.lineTo(i, 1000);
this.ctx.stroke();
}
//Çå³ýÖ¸¶¨µÄ¾ØÐÎÇøÓò
//this.ctx.clearRect(5, 402,795, 95);
this.ctx.clearRect(102.5, 502, 795, 95);
//бÏß
this.LineDrawing(400, 105, 600, 300);
this.LineDrawing(400, 805, 600, 1000);
//·´Ð±Ïß
this.LineDrawing(600, 105, 400, 300);
this.LineDrawing(600, 805, 400, 1000);
},
//×ø±êµÄÖÐÐĵã
center: function(x, y) {
this.ctx.lineWidth = 5;
//ÖÐÐĵãÒ»£¨100,200£©
//×óÉÏ
this.LineDrawing(x - 10, y - 30, x - 10, y - 10);
this.LineDrawing(x - 10, y - 10, x - 30, y - 10);
//ÓÒÉÏ
this.LineDrawing(x + 10, y - 30, x + 10, y - 10);
this.LineDrawing(x + 10, y - 10, x + 30, y - 10);
//×óÏÂ
this.LineDrawing(x - 10, y + 30, x - 10, y + 10);
this.LineDrawing(x - 10, y + 10, x - 30, y + 10);
//ÓÒÏÂ
this.LineDrawing(x + 10, y + 30, x + 10, y + 10);
this.LineDrawing(x + 10, y + 10, x + 30, y + 10);
},
drawFont: function() {
this.ctx.lineWidth = 1;
//»æÖÆÎÄ×Ö
this.ctx.font = "60px microsoft yahei";
this.ctx.save(); //±£´æµã
//½«×ø±êÖÐÐÄ×÷ΪÆðÆôµã
this.ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / 2; // »¡¶ÈÖÆ Math.PI=¦Ð
this.ctx.rotate(radian); // Ðýת»­²¼»æÖƿ̶È
//Ìî³ä
this.ctx.fillText("³þ", -30, -270);
this.ctx.fillText("ºÓ", -30, -150);
this.ctx.restore(); //»Ö¸´µ½±£´æµã
this.ctx.save();
//½«×ø±êÖÐÐÄ×÷ΪÆðµã
this.ctx.translate(canvas1.width / 2, canvas1.height / 2);
var radian = Math.PI / -2;
this.ctx.rotate(radian);
this.ctx.fillText("ºº", -30, -270);
this.ctx.fillText("½ç", -30, -150);
this.ctx.restore();
}
};
object.init();
</script>
</body>
</html>

ÔËÐнá¹ûÈçÏ£º

С½á£ºÉÏÃæÖ»ÊÇÔÚÔ­À´µÄ»ù´¡ÉÏÌí¼ÓÁË»æÖÆÆå×ӵĴúÂ룬¿´µ½Õâ¸öЧ¹û£¬¸Ð¾õËãÊÇ¿´µ½ÏóÆåµÄÓ°×ÓÁË£¬Í¨¹ýÕâ¸ö¼òµ¥µÄʾÀý£¬ÎÒ×ܽáÁËһϣº¾ÍÊÇ×öÈκÎÊÂÇ鶼Ҫ׷ÇóÍêÃÀ£¬ÏȰѹ¦ÄÜ×öºÃºó£¬ÔÙ¿¼ÂÇ´úÂëÓÅ»¯¡¢ÃÀ»¯½çÃæ¡£ÉÏÃæµÄʾÀýÈôÓв»×ãÖ®´¦£¬»¶Ó­´ó¼ÒÅúÆÀÖ¸Õý£¡Ð»Ð»¡£

¶þ¡¢Ê¾ÀýÏÂÔØ

GitHubÏÂÔصØÖ·£ºhttps://github.com/SeeYouBug2/Canvas-Draw-Chess.git

Èý¡¢Á˽â¸ü¶àcanvasµÄ֪ʶ

HTML5 ѧϰ±Ê¼Ç¡ª¡ªcanvas»æͼ¡¢WebGL¡¢SVG

   
4299 ´Îä¯ÀÀ       23
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
Öع¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

Öع¹-¸ÄÉƼÈÓдúÂëµÄÉè¼Æ
Èí¼þÖع¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì