SỐ 116
VỌC MÁY TÍNH CÙNG NHẠC SĨ HOÀI AN

“Chiếu sáng” thật ấn tượng cho Website
HOÀI AN

Với một số thủ thuật đơn giản (về mặt lập trình) bạn hoàn toàn có thể sắp đặt một “hệ thống đèn” cho Website của mình. Hệ thống chiếu sáng này có thể gây ấn tượng mạnh mẽ đối với người lướt Web... Người thiết kế hoàn toàn chủ động về màu sắc, các kiểu đèn (nguồn chiếu sáng)  có thể có như đèn tĩnh, đèn quét, thậm chí đèn chớp tắt, vv...

Trên thực tế  bạn áp dụng bộ lọc (filter) light, một công cụ xử lý ảnh  tạo hiệu quả cao để mô phỏng một (hay nhiều) nguồn sáng chiếu lên trang Web. Với sự kết hợp cùng một vài bộ lọc khác (thông qua lập trình kịch bản Javascript) bạn có thể tạo ra những hiệu ứng rất đẹp mắt.

Trước hết mời bạn làm quen với “chiếu sáng tự động” bằng light filter:

1. Khai báo mở đầu:

...
<BODY STYLE = "background-color: #000000" ONLOAD = "setLight()">
<IMG ID = "pic" SRC = "marquee.jpg"
...

Trong đó IMG ID = “pic” với “pic” là một tên tùy chọn (nên đặt tên gợi nhớ) để bạn tham khảo sau này, SRC = “...” là đường dẫn file ảnh. Ở phần <BODY> bạn gọi setLight() để khởi tạo nguồn sáng ngay từ đầu.

2. Đặt nguồn sáng: setLight()

Bạn có thể dùng câu lệnh sau:

ImageID.filters(“light”).addCone ( x, y, h, x1, y1, R, G, B, s, delta)

• (x,y): tọa độ của nguồn sáng.

• h: tham số mô phỏng độ cao của nguồn sáng so với trang Web (độ cao nhỏ thì ánh sáng tựa như một đỉnh tam giác ở nguồn, độ cao lớn thì đầu nguồn sáng giống đỉnh parabol), bạn nên thử nhiều giá trị khác nhau của tham số này để hiểu rõ hơn.

• (x1,y1): đích của luồng ánh sáng.

• (R,G,B): bộ 3 giá trị màu (Red,Green,Blue) với mỗi giá trị trong khoảng 0..255

• s: tham số chỉ độ mạnh của nguồn sáng tính theo phần trăm (%)

• delta: tương tự góc mở của nguồn sáng, tính theo độ (0..90).

3. Di chuyển nguồn sáng:

ImageID.filters (“light”) .moveLight( LightID, Dx, Dy, h, A) với các tham số:

• LightID: trong phần đặt nguồn sáng, theo thứ tự các nguồn xuất hiện được đánh số kể từ 0. Tham số này được dùng để điều khiển chính xác nhiều loại chuyển động cho nhiều nguồn sáng.

• Dx: mô tả độ lệch tọa độ x (trong chuyển động) so với tọa độ hiện thời.

• Dy: mô tả độ lệch tọa độ y (trong chuyển động) so với tọa độ hiện thời.

• h: độ cao nguồn sáng.

• A: có ý nghĩa xác định các thông số trước mang ý nghĩa tuyệt đối hay không? Ví dụ: A=0 thì các tham số mang ý nghĩa tương đối (cộng dồn Dx,Dy vào x,y hiện tại).

<HTML>
<HEAD><TITLE>Cone lighting</TITLE></HEAD>
<SCRIPT LANGUAGE = "JavaScript">
var upDown = true;
var count = 0;
function setLight()
{ // (x,y) height light (x,y) cone target (R,G,B) % light strong degree 0..90
// light 0: duoi_trai
pic.filters( "light" ).addCone( 0, pic.height, 0,
pic.width, pic.height/2-30, 255, 255, 255, 10, 15 );
// light 1: duoi phai
pic.filters( "light" ).addCone( pic.width,
pic.height, 0, 0, pic.height/2-30, 255, 255,0, 10, 15 );
// light 2: tren_trai
pic.filters( "light" ).addCone( 0, 0, 0,
pic.width, pic.height/2+10, 0, 255, 255, 10, 15 );
// light 3: tren phai
pic.filters( "light" ).addCone( pic.width, 0, 0,
0,pic.height/2+10, 0, 255, 0, 10, 15 );
window.setInterval( "moveLight()", 50 );
}

function moveLight()
{
count+=2;
if ( ( count % 40 ) == 0 ) upDown = !upDown;
// light source number - x,y move the light - height to move – Absolute??
if ( upDown ) {
pic.filters( "light" ).moveLight( 0,-5,-3,0,0 );
pic.filters( "light" ).moveLight( 1,5,-3,0,0 );
}
else {
pic.filters( "light" ).moveLight( 0,5,3,0,0 );
pic.filters( "light" ).moveLight( 1,-5,3,0,0 );
}
}
</SCRIPT>
<BODY STYLE = "background-color: #000000" ONLOAD = "setLight()">
<IMG ID = "pic" SRC = "marquee.jpg"
STYLE = "filter: light; position: absolute; left: 30;
top: 30" >
</BODY>
</HTML>

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn