急!!老板让搞一个使图片淡入淡出的封面效果,环境为 DOS。怎么作!!?!?!?

Zibao 2001-07-21 11:55:16
加精
显示 BMP 我知道了。可是怎么淡入淡出呢?

需要支持 256 色 和 24 位彩色。
...全文
259 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SuYang1999 2001-12-14
  • 打赏
  • 举报
回复
能不能帮帮我显示256色位图。QQ:44027452 TC2。0
xuejinglan 2001-10-21
  • 打赏
  • 举报
回复
楼上的老哥,你写的太麻烦了,我看不懂得,我还不明白什么是调色板,请详细说明一下好吗?
我以前学习过一点点的使用c语言画图的基础知识,但是现在我想自己写一个游戏,别的都写的差不多了,但是,在界面上出了问题,我不知道怎么样能显示一张位图????
Zibao 2001-07-22
  • 打赏
  • 举报
回复
对了,我要作的显卡都是 S3 的,没问题吧。
Zibao 2001-07-22
  • 打赏
  • 举报
回复
SCUM:分我给了,你把你的代码MAIL一份给我。先谢了!
crystalgirl 2001-07-22
  • 打赏
  • 举报
回复
呵呵~~这要用SVGA编程啊,个人认为比较复杂,而且资料和书现在都很少了,不过

你可以到高校图书馆去看看,肯定有,而且肯定没人借(我以前被畸形老师要求用汇

编做一个16位色,640*480的大炮打飞机的游戏,资料就是在学校图书馆里的故纸堆

中翻出来的)
Zibao 2001-07-22
  • 打赏
  • 举报
回复
我也这么想,就是代码太麻烦了。你有写好的吗?给我一份参考好吗?
SCUM 2001-07-22
  • 打赏
  • 举报
回复
建议:

如果作 24 位,最好把图画在内存缓冲中,处理完后再一次刷到屏幕上去。

不过直接画也可以,还有动画效果,好看。:)
SCUM 2001-07-22
  • 打赏
  • 举报
回复
256 色可以通过调色板实现。很容易。
24 位色就麻烦了,我是自己一遍遍重刷屏,不知哪位有更好的方法。


256 色控制调色板可以用以下函数:

//---------------------------------------------------------------------------
// Set DAC color
//---------------------------------------------------------------------------
void SetDAC(BYTE DACId, BYTE Red, BYTE Green, BYTE Blue)
{
outp(0x3C8, DACId);
outp(0x3C9, Red);
outp(0x3C9, Green);
outp(0x3C9, Blue);
}

//---------------------------------------------------------------------------
// Get DAC color
//---------------------------------------------------------------------------
void GetDAC(BYTE DACId, BYTE *Red, BYTE *Green, BYTE *Blue)
{
DACUNIT dac;

outp(0x3C7, 0);
outp(0x3C7, DACId);
*Red = inp(0x3C9);
*Green = inp(0x3C9);
*Blue = inp(0x3C9);
}


24 位重画屏幕就不用贴了吧,代码太多了。
原理是逐点叠加或减少颜色分量,然后重画。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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