Cơ bản về canvas trong HTML5

Đăng bởi supernovice trong mục Hướng dẫn vào 09 tháng 9, 2010 | Comments

<canvas> là một phần tử mới xuất hiện trong HTML5 và rất hữu ích trong việc vẽ đồ họa trên nền web. Nó lần đầu được giới thiệu bởi Apple, sau đó được ứng dụng nhiều vào trong trình duyệt Safari và bây giờ các trình duyệt phổ biến cũng đã hỗ trợ . Để canvas chạy được với IE ta cần thêm ExplorerCanvas

Tại sao chúng ta cần Canvas

Bởi vì Canvas có thể giúp hiển thị trực quan một số hình ảnh dễ dàng trên trình duyệt như:

  • Các sơ đồ đơn giản
  • Trang trí thêm cho giao diện người dùng
  • Hình ảnh động
  • Biểu đồ và đồ thị
  • Có thể nhúng các ứng dụng vẽ
  • Hoạt động tốt với những hạn chế của CSS

Cần gì để tìm hiểu <canvas>

Sử dụng <canvas> không khó, bạn chỉ cần có kiến thức về HTML và JavaScript. Ví dụ đơn giản dưới đây sẽ giúp bạn hiểu thêm về <canvas>

Đây là đọan code mình vẽ là cờ Việt Nam :

<html> 
<head>  
<script type="application/x-javascript">
function draw(){ 
// Lấy ra vị trí canvas 
  var canvas = document.getElementById('canvas');
  if (canvas.getContext){ 
  var ctx = canvas.getContext('2d');
// Đầu tiên vẽ nền đỏ trước
  ctx.fillStyle = "rgb(255,0,0)";
  ctx.fillRect (0, 0, 500, 300);
// Để vẽ sharp cần có .beginPath() 
   ctx.beginPath();
// Chọn màu ngôi sao là màu vàng
	ctx.fillStyle   = 'yellow';	
// Chỉ ra tọa độ bắt đầu (x,y) dựa theo width và height trong html  	 
   ctx.moveTo(250,80);  
// Bắt đầu vẽ	 
	ctx.lineTo(200,200); 
   ctx.lineTo(320,125);
   ctx.lineTo(180,125);
   ctx.lineTo(300,200);
   ctx.closePath();
// Vẽ xong cần tô màu	 
   ctx.fill();    
  }
}  
</script>
</head> 
<body onLoad="draw();">
<canvas id="canvas" width="500" height="300"></canvas> 
</body>
</html>

Ví dụ trên rất cơ bản, để tìm hiểu thêm về <canvas> như vẽ đồ thị, hình động hoặc cao hơn là viết các game nhỏ sử dụng canvas bạn có thể đọc tại đây và tải về API cheatsheet của nó

Bạn có thích bài viết này?

supernovice's picture

supernovice

Phạm Văn Du - Web developer , SEO Guru tại Bình Dương

Trang chủ - Twitter