Chào các bạn, ở các bài trước mình đã giới thiệu cơ bản html5 với chủ đề thiết kế web cơ bản và thiết kế web seo trong tương lai.
Bài viết này mình sẽ chia sẻ một trong những tính năng mới của html5 đó là khả năng vẽ hình bằng mã html, tag canvas cơ bản. Đây cũng sẽ là một xu hướng cho thiết kế web seo làm nền menu, danh mục … vì khi vẽ hình bằng mã html sẽ nhẹ hơn rất nhiều so với hình ảnh .jpg hay .png.
Để hiểu được bài viết này, mời các bạn tham khảo trước bài viết giới thiệu html5
http://seoweb24h.com/thiet-ke-web/kien-thuc-co-ban-html5/
Đầu tiên, xin giới thiệu thẻ canvas, thẻ canvas hỗ trợ cho html có thể vẽ hình, nhúng các spript vào tag. Sau đây là một ví dụ, chúng ta sẽ cùng vẽ hình sau đây với kích thước sau: width=500, height=300, mắt trái = vị trí bắt đầu (100,90) kích thước 50×4, mặt phải = vị trí (400,90)
Bước 1:
Mở một file html5. Do canvas sẽ nhúng script nên chúng ta mở một đoạn script trên head (trước khi đóng thẻ head).
<script type=“application/x-javascript”>
</script>
Bước 2:
Mở một function trong script với tên “ve” hoặc tên nào đó tùy các bạn nhé.
function ve(){
}
Và định cấu hình body load từ script trên.
<body onLoad=”ve();”>
Bước 3:
Mở thẻ canvas trong body, định kích thước cho canvas.
<canvas id=”canvas” width=”500″ height=”300″></canvas>
Và mở canvas trong script bằng đoạn code sau:
var canvas = document.getElementById(‘canvas’);
if (canvas.getContext){
var ctx = canvas.getContext(’2d’)
}
Như vậy là chúng ta đã hoàn tất việc mở thẻ canvas rồi đấy, đương nhiên vẫn chưa thấy gì trên màn hình đâu. Và bây giờ ta sẽ bắt đầu vẽ.
Định màu cho khung nền với mã màu rgb(31,102,246).
ctx.fillStyle = “rgb(31,102,246)”;
ctx.fillRect (0, 0, 500, 300);
Vẽ sharp, các hình trong khung nền: ta mở thẻ beginPath, để cho tiện dụng trong việc thiết kế thì các bạn đóng thẻ bằng closePath luôn nhé. Sau đó, chỉ việc viết các shape giữa 2 thẻ này.
ctx.beginPath();
ctx.closePath();
Tô màu nền cho các sharp:
ctx.fillStyle = ‘yellow’;
Bắt đầu vẽ con mắt bên trái, điểm xuất phát tại tọa độ (100,90)
ctx.moveTo(100,90);
Bây giờ các bạn xem việc thiết kế web giống như học hình học hệ tọa độ X,Y. Từ điểm (100,90) di chuyển đến 3 điểm sau và kết thúc sẽ tạo ra hình vuông cạnh 50px.
ctx.lineTo(150,90);
ctx.lineTo(150,140);
ctx.lineTo(100,140);
Thử nhẫm tính xem đúng không nhé. Và kế tiếp vẽ cái miệng, con mắt phải bằng 2 đoạn tương tự này.
ctx.moveTo(220,250);
ctx.lineTo(280,250);
ctx.lineTo(280,255);
ctx.lineTo(220,255);
ctx.moveTo(350,90);
ctx.lineTo(400,90);
ctx.lineTo(400,140);
ctx.lineTo(350,140);
Vậy là hoàn tất rồi, các bạn có làm được không. Mình xin copy toàn bộ đoạn code html, các bạn làm không được thì copy y chang để các bạn đối chiếu nh.
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=”seoweb24h-canvascoban” content=”text/html; charset=utf-8″>
<title>seoweb24h</title>
<script type=”application/x-javascript”>
function ve(){
var canvas = document.getElementById(‘canvas’);
if (canvas.getContext){
var ctx = canvas.getContext(’2d’);
ctx.fillStyle = “rgb(31,102,246)”;
ctx.fillRect (0, 0, 500, 300);
ctx.beginPath();
ctx.fillStyle = ‘yellow’;
ctx.moveTo(100,90);
ctx.lineTo(150,90);
ctx.lineTo(150,140);
ctx.lineTo(100,140);
ctx.moveTo(220,250);
ctx.lineTo(280,250);
ctx.lineTo(280,255);
ctx.lineTo(220,255);
ctx.moveTo(350,90);
ctx.lineTo(400,90);
ctx.lineTo(400,140);
ctx.lineTo(350,140);
ctx.closePath();
ctx.fill();
}
}
</script>
</head>
<body onLoad=”ve();”>
<canvas id=”canvas” width=”500″ height=”300″></canvas>
</body>
</html>
Việc thiết kế web, đặc biệt là thiết kế web seo trong tương lai sẽ tiện lợi hơn nhiều nhờ html5. Trước mắt các bạn thấy tấm hình đơn giản trên được thay thế bằng mã code chỉ vài kb thay vì cả chục kb. Chúc các bạn thiết kế web thật cuốn hút.
Website luôn chia sẻ: seoweb24h.com
- Thiết kế web HTML5: hướng dẫn sử dụng CSS3 để tạo màu (27/10/2012)
- Kiến thức cơ bản của HTML5 (07/04/2012)
- Học thiết kế website chuyên nghiệp bằng Dreamweaver Tất cả Video (09/04/2012)
- 7 điểm giống nhau giữa con gái và HTML (01/09/2012)
- Thiết kế web HTML5: CSS3 thay thế java làm hiệu ứng hoạt ảnh (18/08/2012)
- 5 lỗi hay gặp khi viết html (13/03/2012)
0 nhận xét:
Đăng nhận xét