最近在学VC图形图象这一方面,觉得很困惑,希望高人指点:
(1)关于256色和256色以下的DIB位图到底还有必要学没,因为这种类型的位图有自己的颜色表,显示的时候都要创建逻辑调色板,可是我每次创建后,用RealizePalette()实现时,返回指总是0,这也说明系统调色板没变化.我问别人,他说也要将显示设置为256色,可是现在哪还有这样的电脑.所以我很怀疑这种类型位图已经没用了.
(2)VC图形图象到底应该学什么.
(1)关于256色和256色以下的DIB位图到底还有必要学没,因为这种类型的位图有自己的颜色表,显示的时候都要创建逻辑调色板,可是我每次创建后,用RealizePalette()实现时,返回指总是0,这也说明系统调色板没变化.我问别人,他说也要将显示设置为256色,可是现在哪还有这样的电脑.所以我很怀疑这种类型位图已经没用了.
(2)VC图形图象到底应该学什么.
有没有必要还是看需要,如果你的工作不需要,那么就不用管它,只要掌握一些函数用法就可以了,没必要纠缠于一些细节,好像每个函数都要弄懂弄透,要知道我们的目的是应用,而不是研究。
所以,第二个问题,学什么,不是为了学而学,而是看你需要什么,根据工作的需要而定。如果你想编一个类似PhotoShop的软件,那么几乎所有图形学、图像学方面的知识都要掌握;否则不必太在意了。
首先,带调色板的位图和系统没有太大关系,你显示它根本没有必要设置系统的显示模式。其次,带调色板的DIB还是非常有用的。它可以比较容易地实现很多效果,比如在游戏中各种单位的着色预处理,淡入淡出等。(用AlphaBlend等其它方法虽然也可实现但麻烦且慢不少)。另外使用调色板位图可以有效减小存储空间的占用。现在带调色板的位图的使用还是很广泛的,比如GIF图像格式。很多经典的游戏中也大量使用调色板(星际争霸、红色警戒2、帝国时代2等)