易码技术论坛

 找回密码
 加入易码
搜索
查看: 363275|回复: 11

请教如何消除lava中模拟灰度的闪屏

[复制链接]
发表于 2005-7-7 23:44:00 | 显示全部楼层
while(Inkey()==0)
{
WriteBlock(0,0,160,80,1,sc[0]);
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();
WriteBlock(0,0,160,80,4,sc[0]);  // 这个4应该改成1吧 ^_^
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();


}

 楼主| 发表于 2005-7-7 23:51:00 | 显示全部楼层
以下是引用无言的梦在2005-7-7 23:44:15的发言:

while(Inkey()==0)
{
WriteBlock(0,0,160,80,1,sc[0]);
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();
WriteBlock(0,0,160,80,4,sc[0]);  // 这个4应该改成1吧 ^_^
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();




}

这个没错,实现4阶灰度只需要两幅图片就可以
发表于 2005-7-8 00:01:00 | 显示全部楼层
只有2幅好象这样就行了吧

while(Inkey()==0)
{
WriteBlock(0,0,160,80,1,sc[0]);
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();

}

不过,这样好象只有3色。。。


[此贴子已经被作者于2005-7-8 0:14:09编辑过]

发表于 2005-7-8 06:27:00 | 显示全部楼层
可以再增加。这和CPU运算频率有关
发表于 2005-7-8 07:57:00 | 显示全部楼层
以下是引用ctxm在2005-7-8 6:27:57的发言:
可以再增加。这和CPU运算频率有关

按照我在4楼的程序就只能3种,不管CPU的频率多少,
2幅图的同一个点都是1,则为16级灰度; 一个1一个0则是8级灰度;2个0则为0级灰度
 楼主| 发表于 2005-7-8 10:08:00 | 显示全部楼层
实现4阶灰度只需2张图,16阶需要4张图,通过位运算就可以做出相应的效果,
最要的是怎样可以消除闪屏的问题……
发表于 2005-7-8 11:10:00 | 显示全部楼层
是不是你位运算时,造成图象刷屏的短暂停顿,而造成闪屏?
要不B16和HGP怎么都用了15/16张才做出稳定的16色来...
发表于 2005-7-8 17:24:00 | 显示全部楼层
既然只能模拟,那必须要闪
对了,即使是b16和hgp也要闪...
不过因为是汇编,闪的比较快而已...
发表于 2005-7-9 17:08:00 | 显示全部楼层
fp=fopen("/LavaData/a.dat","rb");
这个a.dat是怎么得到的???

发表于 2005-7-9 17:14:00 | 显示全部楼层
怎么把图片转换成a.dat的
 楼主| 发表于 2005-7-9 22:11:00 | 显示全部楼层
图片的分解,比较麻烦,不过现在发现原来图像越复杂的话看起来就没有那么闪,4级灰度2张图片跟3张的效果一样,不久会在小组里公布相关的文件
 楼主| 发表于 2005-7-7 20:04:43 | 显示全部楼层 |阅读模式
我用lava模拟4阶灰度,无论是nc2600c还是nc3000,都是闪的很

代码如下


void main()
{
char sc[2][1600];
char fp,i;
fp=fopen("/LavaData/a.dat","rb");
fread(sc,1,3200,fp);

while(Inkey()==0)
{
WriteBlock(0,0,160,80,1,sc[0]);
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();
WriteBlock(0,0,160,80,4,sc[0]);
Refresh();
WriteBlock(0,0,160,80,1,sc[1]);
Refresh();

}
getchar();
}

是lava的速度问题还是算法上的问题,是不是Refresh();后需要delay一下?

我试过delay(x),x为一些数值,不过效果好象也不是很好?那位同志指点一下?谢谢
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-11-1 09:03 , Processed in 0.011783 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表