දන්න කියන දෙයක් හැමෝටම දැනගන්න කියලා ලියන මේ බ්ලොග් පිටුවට ඔයාලව ආදරයෙන් පිළි ගන්නවා. ඉගෙන ගන්න පුළුවන් දේවල් කියලා දෙන්න බලාපොරොත්තු වෙනවා. ආපු වෙලාවක කොමෙන්ට් එකක් දාන්නත්, පාඨකයෙක් විදියට ෆොලෝ කරන්නත් පුළුවන් නම් වටිනවා.

Friday, May 21, 2010

PHP කරා යමු - 11 (HTML)

රතු, කොළ, නිල් පාට තුන එකතු කරලායි සාමාන්‍යයෙන් ඕනෙම වර්ණයක් හැදෙන්නේ. වර්ණ සම්මිශ්‍රණයේදී පාවිච්චි වෙන ප්‍රධාන වර්ණ තුන තමයි මේ වර්ණ තුන. කොම්පියුටරේ මේ පාට තුනෙන් හැදෙන්න පුළුවන් එකිනෙකට වෙනස් පාට ප්‍රමාණය මිලියන ගණනක් විතර වෙනවා. ඒ, ප්‍රධාන පාටකින් සිද්ධ වෙන වර්ණ විපර්යාසය කොටස් 256 දෙසිය පනස් හයකටකට බෙදලා. පාට තුනක්ම තියෙනවා නේ. එක පාටක් විතරක් ගත්තොත් ඒ පාට, අඳුරුම අවස්ථාවේ ඉඳලා එළිය වැඩිම අවස්ථාව වෙනකන් කොටස් වලට බෙදල නිසා තමයි වර්ණ 256ක් ලබා ගන්න පුළුවන් වෙන්නේ. රතු පාටින් 256 ක් ගත්තොත් අනික් පාට දෙකෙනුත් 256 ගානෙ ගන්න පුළුවන් අඳුරු අවස්ථාවේ ඉඳන් එළියම අවස්ථාව වෙනකම්. මේ 256 යේ හැම අවස්ථාවක් එක්කම වර්ණ තුනම එකතු වෙද්දී, ඒ කියන්නේ රතු, කොළ, නිල් පාට තුනෙන් හදන්න පුළුවන් වර්ණ ප්‍රමාණය 256 x 256 x 256 විදියට 16,777,216 ප්‍රමාණයක් වෙනවා. ඒ කියන්නේ මිලියන දහසයකටත් වැඩියි. පුදුමයි නේද එච්චර වර්ණ ප්‍රමාණයක් අපිටත් දෙන්න පුළුවන් කීවම. හැබැයි අර මම කලින් කීව වර්ණ දහසයත් මේ පාට මිලියන දහසයෙන් හොයා ගන්න පුළුවන්. වෙනස තියෙන්නේ ඒවට HTML අඳුරන නම් දහසයක් තිබීම. අර මිලියන 16 ට නම් දෙන්න පුළුවන් කාටද නේද?

256 කියන්නේ දහසයෙන් බෙදෙන සංඛ්‍යාවක් නේ. අන්න ඒ නිසා මේ වර්ණ තුනේම එන 256 කොටස් 16 පාදයෙන් ලියන්න පුළුවන්. මොකද 256 කියන්නේ 16 x 16 නිසා. මේ වර්ණ 256 හැදෙන්නේ 1 ඉඳන් 256 වෙනකම් නම් නෙවෙයි. ඒ, 0 ඉඳන් 255 වෙනකම්. 255 කියන්නේ උපරිම වර්ණ අවස්ථාවයි. 0 කියන්නේ අඩුම අවස්ථාවයි. රතු ගත්තොත් 255 වන අවස්ථාව කියන්නේ තද රතු. 0 කියන්නේ කළු. අනික් පාට දෙකටත් එහෙමයි. නිල් වල 255 කියන්නේ තද නිල් වගේම, කොළ වල 255 කියන්නේ තද කොළ. හරියටම කීවොත් 255 අවස්ථාවෙන් පැහැදිලි වෙන්නේ ඇස් කඩා ගෙන යන නියම වර්ණය කියලයි.


මේ වගේ අපිට font ටැග් එකේ color කියන ඇට්‍රිබියුට් එකට දාන්න පුළුවන් පාට ගණන මිලියන දහසයක් වෙනවා. ඒත් ලියන්නේ කොහොමද ඒ පාට? ඒ මෙන්න මෙහෙමයි. ක්‍රම දෙකක් තියෙනවා. දහයේ පාදයෙන් ලියන ක්‍රමේ වගේම දහසයේ පාදයෙන් ලියන ක්‍රමේ. හැමෝම ගණන් විශයයක් විදියට කරලා තියෙන නිසා මේ ගැන දැන ගන්න ඕනෙ. දහසයේ පාදයෙන් ලියන සංඛ්‍යා හඳුන්වන්නේ hexadecimal (හෙක්සා ඩෙසිමල්) කියලා.

මේවා HTML වලදී පාවිච්චි කරන්නේ මෙන්න මේ විදියටයි. එක්කෝ පාට තුන මිශ්‍ර විය යුතු අගයන් දහයෙ පාදයෙන්, ඒ කීවෙ සාමාන්‍ය ගණින ඉලක්කමෙන් වෙන වෙනම දෙන එක. එහෙමත් නැත්තම් දහස්යේ පාදයෙන් වර්ණ තුන එකතු වෙන විදි‍ය දීමෙන්.

දහයේ පාදයෙන් නම්, rgb(රතු පරාසය, කොළ පරාසය, නිල් පරාසය ) විදියටයි.
rgb(0-255,0-255,0-255)
විදියට.

උදාහරණයක් කීවොත්, රතු පාට ලියන්නේ මෙහෙම rgb(255,0,0).
ඒ වෙලාවෙදී රතු වල වර්ණ පරාසයේ උපරිම අවස්ථාවේ තියෙද්දි අනික් පාට දෙකම අවම අවස්ථාවේ තියෙන්නේ. හරියට රතු බල්බය දැල්වී තියෙද්දී නිල් හා කොළ පාට බල්බ නිවිල තියෙන අවස්ථාව කීවොත් නිවැරදියි.

rgb කියන අකුරු තුන ලියලා තියෙන පිළිවෙළටම වරහන් ඇතුලේ කොමා වලින් වෙන් කරල තියෙන්නේ ඒ පාට තුනේ වර්ණ ප්‍රභලතා ව
අගයන් ඒ පිළිවෙලටම. rgb කියන්නේ HTML වල එන වචනයක්. ඒක තමන්ට කැමති කැමති විදියට අකුරු තුන මාරු කරල bgr, gbr, rbg කියල එහෙම ලීවොත් වැඩේ දෙල් වෙනව. ඒ කීවෙ කිසි වැඩක් වෙන්නේ නෑ.
ඒ නිසා rgb(red range,green range,blue range) කියලම තියෙන්න ඕනි.

අනික් විදිය දහසයේ පාදයෙන් ලිවීම. දහසයේ පාදයෙන් ලියන හැටි ඉගෙන ගන්න. එතකොට 0 ඉඳන් 255 වෙනකම් ලියන්නේ 00 සිට FF දක්වා. ඒ ලියන්නේ rgb පිළිවෙලටම තමා. ඒත් rgb නොලියා, වරහන් පාවිච්චි නොකර. ඒ ලියන්නේ මෙන්න මෙහෙම. අපි කලින් ගත්තු රතු පාටම ලියමු. #FF0000 විදියට. # ලකුණෙන් පටන් අරන් රතු පාටේ උපරිම අගය 255, FF කියලාත්, අනික් පාට දෙකේ වර්ණ අවම තත්වයේ තියෙන නිසා 00 විදියට පාට දෙක වෙනුවෙන් දෙපාරක් ලියනවා. ඔය ඔක්කොම එකට ගත්ත
ලියවෙන්නේ රතු, කොළ, නිල් අනුපිළිවෙලට #FF0000 කියලා. ඔය දෙවිදියෙන්මත්, නම් වශයෙන් පාට වල නම් යොදලාත් font ටැග් එකේ color ඇට්‍රිබියුට් එකට අගයන් දෙන්න පුළුවන් උදෘත පාඨ අතරේ.

ඔන්න අපි වර්ණ සංයෝජන පාඩමකුත් කරා ඒ අස්සේ.

2 comments:

Madhawa Habarakada said...

වර්ණය හරියටම හදාගෙන ඒකෙ hexadecimal value එක හොයාගන්න, Photoshop වගේ මෘදුකාංගයකින් හරිම ලේසී.

Manjula Peiris said...

16 පාදයෙන් code එක හැදෙන හැටි අවබෝධය සඳහා

0-#00
1-#01
2-#02
3-#03
4-#04
5-#05
6-#06
7-#07
8-#08
9-#09
10-#0A
11-#0B
12-#0C
13-#0D
14-#0E
15-#0F
16-#10
17-#11
18-#12
.......
25-#19
26-#1A
27-#1B
.......
31-#1F
32-#20
33-#21
........ ආදී ලෙස
දැන් තේරෙනවා ඇති මං හිතන්නෙ

Post a Comment