Computer
graphic ေတြနဲ႔ အလုပ္လုပ္ေနတဲ့ သူေတြအဖို႔ အမ်ိဳးမ်ိဳးေသာ color mode ေတြ၊
color settings ေတြနဲ႔ Screen resolution ေတြနဲ႔ အၿမဲေတြ႕ေနၾကမွာပါ။
Graphic programmer ေတြအတြက္ပဲျဖစ္ျဖစ္၊ game programmer ေတြ
အတြက္ပဲျဖစ္ျဖစ္၊ graphic software ေတြနဲ႔ အလုပ္လုပ္ေနၾကတဲ့ သူေတြ အေနနဲ႔ပဲ
ျဖစ္ျဖစ္ အဲဒီ color mode ေတြ၊ resolution ေတြနဲ႔ ကင္းလို႔မရပါဘူး။
အဲဒါေတြ အေၾကာင္းကို ကၽြန္ေတာ္ သိသေလာက္ ေရးခ်ၾကည့္မိပါတယ္။
ဒီေန႔
graphic ေတြမွာ အသံုးအမ်ားဆံုး color တန္ဖိုးေတြက 16 colors (4 bits), 256
colors (8 bits), 64K colors (16 bits), 16.7 million colors (24 bits) နဲ႔
16.7 million colors + Alpha channel (32 bits) ဆိုတဲ့ color mode
ေတြျဖစ္ပါတယ္။
အဲဒီမွာ တစ္ခုေျပာခ်င္တာက color ေတြကို သတ္မွတ္တယ္ ဆိုတဲ့ ေနရာမွာ screen ေပၚမွာ ေပၚေနတဲ့ ပံုေဖၚတဲ့ pixel (picture element)
အစက္ကေလးေတြ တစ္ခုစီအတြက္ memory space ကို ဘယ္ေလာက္ ေပးမလည္း ဆိုတဲ့အေပၚ
မူတည္ပါတယ္။ Programmer ေတြက တစ္ကယ္တမ္း အဲဒီ pixel ေလးေတြနဲ႕ တိုက္ရိုက္
ခ်ိတ္ဆက္ထားတဲ့ memory area ေတြကိုပဲ တန္ဖိုးေတြထည့္ၿပီး
ထိန္းခ်ဳပ္လို႔ရတာပါ။ တစ္ကယ့္ screen ေပၚမွာ ေပၚေနတဲ့ pixel ေတြကို
သြားထိန္းလို႔ မရပါဘူး။ အဲဒီ screen pixel ေတြနဲ႔ တိုက္ရိုက္
အလုပ္လုပ္ေနတဲ့ memory ေတြကို video memory, graphic memory ဒါမွမဟုတ္ frame buffer ေတြလို႔ ေခၚပါတယ္။ (DirectX မွာေတာ့ surface ေတြလို႔လည္း ေခၚပါတယ္)။
ဥပမာ-
ကၽြန္ေတာ္တို႔က pixel တစ္ခုစီအတြက္ 1 bit ပဲေပးမယ္ ဆိုပါေတာ့။ ဒါဆိုရင္
အဲဒီ pixel အစက္ကေလး အတြက္ ကၽြန္ေတာ္တို႔က screen ေပၚမွာ ေပၚမွာလား (1) ၊
မေပၚဘူးလား (0) ဆိုတဲ့ တန္ဖိုး ႏွစ္ခုနဲ႔ပဲ ထိန္းလို႔ ရပါတယ္။ တစ္ျခား
အေရာင္ခြဲတာေတြ ဘာေတြ လုပ္လို႔မရေတာ့ပါဘူး။ တစ္ကယ္လို႔ pixel တစ္ခုကို 1
bit ထက္ပိုေပးမယ္ ဆိုရင္ေကာ?။ ဥပမာ- pixel အစက္ကေလး တစ္ခုကို 2 bit ေပးမယ္
ဆိုပါစို႔။ ဒါဆို အဲဒီ screen ေပၚက အစက္ကေလး တစ္ခုအတြက္ binary တန္ဖိုးနဲ႔
ထိန္းမယ္ဆိုရင္ ကၽြန္ေတာ္ တို႔က 00, 01, 10, 11 ဆိုၿပီး ေလးမ်ိဳး
သတ္မွတ္လုိ႔ရတယ္ေလ။ အဲဒီမွာ 00 ကို အနက္ေရာင္၊ 01 ကို အျပာေရာင္၊ 10 ကို
အစိမ္းေရာင္ နဲ႔ 11 ကို အျဖဴ လို႔သာ သတ္မွတ္မယ္ဆိုရင္ ကၽြန္ေတာ္တို႔ pixel
ေလး တစ္ခုကို အေရာင္ ေလးေရာင္ (4 colors) သတ္မွတ္လို႔ ရၿပီေလ။ ဒါက ဥပမာ
ေျပာျပတာပါ။
2 bits per pixel (we get 4 colors)
00 = black , 01 = blue, 10 = green, 11 = white
အဲဒီလို pixel တစ္ခုကို color ေတြ သတ္မွတ္ဖို႔အတြက္ bit ဘယ္ေလာက္ေပးမလည္း ဆိုတာကို Color Depth, Color mode, color quality
လို႔ ေခၚပါတယ္။ ဒီေတာ့ pixel အစက္ကေလး တစ္ခုအတြက္ bit ပမာဏကို
မ်ားမ်ားေပးႏိုင္ေလ သူ႔ကို သတ္မွတ္လို႔ ရမယ့္ color ေတြ၊ special effect
ေတြ မ်ားမ်ား လုပ္ႏိုင္ေလေပါ့ေနာ္။
အဲဒီမွာ တစ္ခုထပ္ စဥ္းစားရမွာက screen ေပၚမွာ pixel အစက္ကေလးေတြ ဘယ္ေလာက္ မ်ားမ်ား ရိွေနမွာလည္း ဆိုတာလညး္ အေရးႀကီးပါတယ္။ အဲဒါကို screen resolution
လို႔ ေခၚပါတယ္။ ဒီေတာ့ screen မွာ ရိွေနမယ့္ pixel အစက္ေလးေတြ စုစုေပါင္း
အေရအတြက္ (Resolution) အေပၚ မူတည္ၿပီးေတာ့ လုိအပ္မယ့္ graphic memory ပမာဏ
လည္း အနည္းအမ်ား ကြာျခားသြားႏိုင္တာကို ေတြ႕ႏိုင္ပါတယ္။ ဒီေန႔ Windows XP
သံုးတဲ့ monitor ေတြမွာ အနည္းဆံုး resolution က 1024x768 pixels per screen
ေလာက္ေတာ့ သံုးၾကတယ္ေလ။ တစ္ကယ္လို႔ color mode ကို 24 bit သာ သံုးမယ္
ဆိုရင္ လိုအပ္မယ့္ memory ပမာဏက 1024x768x24 = 18874368 bits လုိမွာေပါ့။
ေခတ္စားေနတဲ့ Byte နဲ႔ ေျပာမယ္ဆိုရင္ 2.35 MB ေလာက္ လိုမွာေပါ့ေနာ္။ Screen
တစ္ခုလံုးမွာ ရိွမယ့္ pixel အေရအတြက္က 1024x768 နဲ႔ pixel တစ္ခုအတြက္
ေပးထားတဲ့ memory ပမာဏ (bits per pixel) 24 ကို ေျမွာက္လိုက္တာပါ။
ဒါေၾကာင့္ screen resolution နဲ႔ color quality က လုိအပ္မယ့္ graphic
memory အေရအတြက္ကို အမ်ားႀကီး သက္ေရာက္ ေစပါတယ္။ ပိုၿပီးရွင္းေအာင္ ေအာက္မွာ ပံုေလးနဲ႔ ျပထားပါတယ္။ ေလ့လာၾကည့္ပါ။
ဒါေၾကာင့္
screen ေပၚမွာ ေပၚေနမယ့္ ရုပ္ပံုတစ္ခုရဲ႕ အရည္ အေသြးဟာ လက္ရိွ သံုးေနတဲ့
စက္က အလုပ္လုပ္ေနတဲ့ resolution နဲ႔ color depth ေပၚမွာေရာ၊ အဲဒီ ပံုရိပ္
ဒါမွမဟုတ္ video ကိုု ဖန္တီး ထားတုန္းက သံုးထားတဲ့ resolution နဲ႔ color
depth ေတြ အေပၚမွာ အမ်ားႀကီး မူတည္ပါတယ္။ တစ္ကယ္လို႔ graphic တစ္ခုကို
ကၽြန္ေတာ္တို႔က resolution တစ္ခု၊ color depth တစ္ခုနဲ႔ ဖန္တီးလို္က္ၿပီ
ဆိုပါစို႔။ အဲဒီ graphic ဒါမွမဟုတ္ video ကို အသံုးျပဳမယ့္ system က သူ႔ကို
ဖန္တီးထားတုန္းက resolution နဲ႔ color depth ေတြကို လိုက္ၿပီး support
မလုပ္ႏိုင္ ဘူးဆိုရင္ မူရင္းပံုအတိုင္း၊ သူ႔ quality အတိုင္း ျမင္ရဖို႔
မလြယ္ပါဘူး။ လိုအပ္ရင္ format ေတြကို ေျပာင္းေပးရမွာပါ။
ဒါက
ကၽြန္ေတာ္ေျပာခ်င္တဲ့ resolution နဲ႔ color depth အေၾကာင္းပါ။ ကၽြန္ေတာ္
တစ္ကယ္ ေျပာခ်င္တာက ဒါမဟုတ္ပါဘူး။ Color ေတြကို တစ္ကယ္တမ္း သတ္မွတ္တဲ့
ေနရာမွာ ဘယ္လိုသတ္မွတ္လည္း ဆိုတဲ့ အခ်က္ပါ။ Screen ေပၚမွာ ေပၚမယ့္ pixel
ေတြရဲ႕ color ေတြကို ဖန္တီးတဲ့ ေနရာမွာ Red, Green, Blue ဆိုတဲ့ သံုးေရာင္ကို အေျခခံၿပီး တည္ေဆာက္ပါတယ္။ ဒါေၾကာင့္ - ဥပမာ- 24 bit
color mode ဆိုတာ pixel တစ္ခုကို 24 bit ေပးတယ္ ဆိုတာ မွန္ပါတယ္။ ဒါေပမယ့္
Red, Green, Blue ဆိုတဲ့ အေရာင္ေတြကို ဘယ္ color ကို ဘယ္ bit
ေတြကိုေပးမွာလည္း၊ ဘယ္လိုေပးမွာလည္း၊ ဘယ္လို သတ္မွတ္မွာလည္း ဆိုတာလည္း
တစ္ကယ့္ programming level နဲ႔ အေသးစိတ္ အဆင့္မွာ ေသေသခ်ာခ်ာ
စဥ္းစားရပါတယ္။
0 - ဦး မှတ်ချက်ပေးထားပါသည်
Post a Comment