PDA

View Full Version : [Q]Thực hiện chế độ 16 bit màu trong C



V&T&H
21-01-2003, 08:01
Làm cách nào Thực hiện chế độ 16 bit màu trong C giống như là hàm rgb( , , ,) đó, monh mấy bạn chỉ giúp.

guy
22-01-2003, 01:54
chắc bạn nói cách dùng 16bit màu trên dos bằng C cách đơn giản nhất là dùng driver svga64k.bgi , cách dùng cũng giông như egavga.bgi vậy , chỉ khác là cần xây dựng thêm một số hàm để chuyển tử RGB về chế độ màu thực
long int RGB(int R,int G,intB)
{
long int t;
t=(long int) ((( R>>3)& 31 )<< 11)|(((G>>2)&63) <<5) | ((B<<3)&31)
return t;
}
long int RealColor ( long int c)
{
setrgbpalette(1026,(c<<11)&31,(c << 5)& 62,c&31);
return c;
}
Khi thực hiên một thao tác nào đó ví vụ putpixel thì
putpixel(x,y,RealColor(RGB(R,G,B));
có thể tham khảo một số hàm trong C như setrgbpalette để biết thêm
bác có thể down svga64k.bgi tại :
http://www.photon.at/~werner/light/bgi/
Nhưng theo tôi để viết ứng dụng 16 bit màu thì viết trên win , dùng VC và thư viện DirectX mọi việc sẽ đơn giản hơn nhiều và tốc độ cũng nhanh hơn nhiều

V&T&H
23-01-2003, 17:41
Cám ơn bác nhiều nha.