关于DIB的问题

lzr4304061988012 2008-01-12 01:32:47
最近在学VC图形图象这一方面,觉得很困惑,希望高人指点:
(1)关于256色和256色以下的DIB位图到底还有必要学没,因为这种类型的位图有自己的颜色表,显示的时候都要创建逻辑调色板,可是我每次创建后,用RealizePalette()实现时,返回指总是0,这也说明系统调色板没变化.我问别人,他说也要将显示设置为256色,可是现在哪还有这样的电脑.所以我很怀疑这种类型位图已经没用了.
(2)VC图形图象到底应该学什么.
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoln1010 2010-09-13
  • 打赏
  • 举报
回复
很受用啊
sandy_zc_1 2008-01-12
  • 打赏
  • 举报
回复
第二个问题,VC图像学该学什么?这个问题好莫名其妙啊,你需要什么就学什么呗。

不要为学而学,而要为需而学,这是程序员的一个重要原则。图像学里的东西多了去了,你要全学了是根本不可能的,只有你在做程序的时候真正用到某些地方了才去学它才是可取的。比如你要做界面就去学GDI,要做游戏就去学DX。
sandy_zc_1 2008-01-12
  • 打赏
  • 举报
回复

首先,带调色板的位图和系统没有太大关系,你显示它根本没有必要设置系统的显示模式。

其次,带调色板的DIB还是非常有用的。它可以比较容易地实现很多效果,比如在游戏中各种单位的着色预处理,淡入淡出等。(用AlphaBlend等其它方法虽然也可实现但麻烦且慢不少)。另外使用调色板位图可以有效减小存储空间的占用。

现在带调色板的位图的使用还是很广泛的,比如GIF图像格式。很多经典的游戏中也大量使用调色板(星际争霸、红色警戒2、帝国时代2等)
菜牛 2008-01-12
  • 打赏
  • 举报
回复
首先,设置调色板不需要调整系统的显示模式。是你用得不对,请先按照MSDN的例子理解:

DIBLOOK 示例阐释如何使用设备无关位图 (DIB) 和密切相关的调色板。

DIBLOOK 还阐释一个具有外部定义的文件格式(在本例中为 DIB 文件格式)的文档。这与内部定义的文件格式相反。当框架自动调用文档的 Serialize 函数以存储磁盘上的文档内容时,另外暗含了此格式。DIBLOOK 进一步阐释如何使用剪贴板、CFile 和滚动视图。


有没有必要还是看需要,如果你的工作不需要,那么就不用管它,只要掌握一些函数用法就可以了,没必要纠缠于一些细节,好像每个函数都要弄懂弄透,要知道我们的目的是应用,而不是研究。
所以,第二个问题,学什么,不是为了学而学,而是看你需要什么,根据工作的需要而定。如果你想编一个类似PhotoShop的软件,那么几乎所有图形学、图像学方面的知识都要掌握;否则不必太在意了。
caoeryingzi 2008-01-12
  • 打赏
  • 举报
回复
同样的困惑,期待高手指导。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧