中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » LOGO.SYS启动动画条原理及制作工具LOGOBAR
« [1] [2] [3] »
作者:
标题: LOGO.SYS启动动画条原理及制作工具LOGOBAR 上一主题 | 下一主题
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『楼 主』:  LOGO.SYS启动动画条原理及制作工具LOGOBAR

这是我第一次在网上发布自写的程序,希望各位支持和批评!
LOGOBAR下载
引子&原理:
    现在,Windows95、Windows98、WindowsMe以其优秀的兼容性和易操作性仍占据了许多用户的计算机。当我们启动计算机时,都会看到一段带有滚动色条的LOGO-“蓝天白云”,这已经成为了Windows9x的标志。许多文章都透露,“蓝天白云”其实是位于C盘根目录下的一个文件LOGO.SYS,这其实是一个320X400X256色的BMP文件,用简单的“画图”就可以制作出来。但BMP是静态的,WindowsLOGO是如何将它动起来的呢?这涉及到调色板方面的知识。
现在几乎所有的显卡都支持真彩色,但真彩色中的一个点需要至少24位的空间来存储,一个基本的640*480画面就需要640X480X3=921600字节,这对某些空间要求严格的程序来说太浪费了。因此几乎所有的显卡都支持调色板索引色方式,如VGA13H模式--此显示模式分辨率为320X200,可显示262144色(2^18),但因为使用了256项的调色板,所以同时只能显示262144色中的256色。虽牺牲了一部分色彩数,却使得每个点的占用空间缩小到了8位即一个字节,它记录着此色在调色板中的位置号,程序通过查表就可找到相应的RGB值并将之准确地显示出来。反过来说,我们甚至可以只修改调色板中记录的RGB值就可以使屏幕上部分点的色彩发生改变,而不用去重新绘点。微软的Windows9x系列在启动LOGO中就采用的方法与此类似:分辨率为320X400,同屏同时只显示256色,每个颜色对应调色板中的一种RGB色彩。当操作系统启动时,程序控制调色板最后的20项的颜色RGB分量按一定规则循环改变,屏幕上就使用了这20项色的点就出现了相应的动画效果--合理安排那些色点的位置就可以产生有趣的动画。现在有XrX Add Bar Utility,Animate Bar等工具可以在一个普通的BMP文件底部动画条效果,如果您更有创意的话,它们就不能胜任了--它们只能在图像的底部添加,源图像必须是320X400 256色的BMP文件--功能太少了。
    这就是这个程序产生的原因。本程序可以做到更多您所想要的效果,不信您就试试看。不过,由于我写程序的机器太老(P75)只能运行DOS,此程序是用命令行参数来控制的。相信这不会难着你吧!
软件名:
    LOGOBAR 易老师的LOGO.SYS动画条制作工具
版权说明:
    本程序是自由软件,还有待改进。您可以使用它,可以复制给朋友,如果您觉得它给了您乐趣,希望Email给作者(yihuawie@163.com)分享。如果您有任何商用目的,也请通知作者。
作者:
    431700 湖北省天门市实验初级中学 易华卫
    Email: yihuawei@163.com
    主页: http://yisir.9126.com
版本:
    V1.0 beta,2004年6月25日于湖北省天门市麻洋镇支教时编译。
用法:
    LOGOBAR 源图像 [/选项]
          源图像    是一个您已经设计好的图像文件,格式可以是BMP,PCX,LBM,TGA,BTW,
                    最好是Windows标准的BMP格式,图像的尺寸可以是320X400,色彩数
                    为256。也可是其他值,程序可以自动转换成320X400X256。
选项:
    /TO=LOGO文件    将加了动画条的图像保存成LOGO文件,缺省值为LOGO.SYS。你可以使
                    用选项“/TO=C:\LOGO.SYS”来直接安装。
    /PO=BOTTON|TOP|LEFT|RIGHT|MASK[-]n 添加动画条的位置,缺省值为:BOTTON
         BOTTON     在图像下方添加动画条,类似Windows9x自带方式
         TOP        在图像上方添加动画条
         LEFT       在图像左侧添加动画条
         RIGHT      在图像右侧添加动画条
         MASK[-]n   在图像中指定为蒙板区域按指定规则绘制动画条(见“高级选项”)
    /BC=n           动画条使用的色彩数,缺省值为20
    /C1=色彩1      渐变色的起始色,以16进制表示RGB, 缺省值为 00FF00 (绿色)
    /C2=色彩2      渐变色的结束色,以16进制表示RGB, 缺省值为 000000 (黑色)
    /NP            不预览     /MT-  使用微软的另一种动画方式(不推荐)

高级选项:
    /PO=MASK[-]n  在图像中指定为蒙板区域按指定规则绘制动画条,约定图像的左上角
                  (0,0)像素点的颜色为蒙板色,图中所有以该色填充的区域构成蒙板区
                  域,在蒙板区域中根据n值有7种方式来绘制色条动画。
        n=1       从左向右画竖色条,动画效果为色条向右运动
        n=2       从上向下画横色条,动画效果为色条向下运动
        n=3       从左上向右下画//形色条,动画效果为色条向右下运动
        n=4       从右上向左下画\\形色条,动画效果为色条向左下运动
        n=5       从中心向四周画辐射色,动画效果如风车顺时针转动
        n=6       从中心向四周画同心椭圆,动画效果为椭圆由小变大
        n=7       从中心向四周画同心矩形,动画效果为矩形由小变大
        如果你在n前使用了“-”,那动画的运动方向将和上面相反。
示例:代表回车
    LOGOBAR mylogo.bmp 在mylogo.bmp的底部加上色条,预览,并保存为LOGO.SYS
    LOGOBAR mylogo.bmp /TO=C:\LOGO.SYS加色条后安装。
    LOGOBAR cat.bmp /PO=MASK7, 在图cai.bmp中按蒙板区域做矩形渐大动画效果。
    更多示例请运行DEMO.BAT
LOGOBAR下载

[ Last edited by TurboY on 2006-11-29 at 09:42 PM ]

   此帖被 +4 点积分        点击查看详情   
评分人:【 AlexZhang 分数: +4  时间:2007-9-11 10:05




从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-3 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复
wangsea
中级用户




积分 445
发帖 110
注册 2004-5-28
状态 离线
『第 2 楼』:  

支持一下,谢谢

2004-7-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
如是大师
元老会员

步行的人


积分 9654
发帖 3351
注册 2003-3-11
来自 湖北
状态 离线
『第 3 楼』:  

试了一下演示.挺不错的!
不过希望扩展一下功能.
如:类XP的启动进度条.
    任意位置,任意形状的动画条..

希望看到更完美的作品面世.

PS:我们是湖北老乡哦.



弄花香满衣,掬水月在手。
                 明月鹭鸟飞, 芦花白马走。
       我自一过后,野渡现横舟。
              青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
   ======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
2004-7-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『第 4 楼』:  其实这程序是可以做任意位置、任意形状的动画条的



  Quote:
以下是引用如是大师在2004-7-3 上午 11:57:16的发言:
试了一下演示.挺不错的!
不过希望扩展一下功能.
如:类XP的启动进度条.
    任意位置,任意形状的动画条..

希望看到更完美的作品面世.

PS:我们是湖北老乡哦.

老乡你好!感谢你的支持![em02]
其实这程序是可以做任意位置、任意形状的动画条的,你可以看看/PO=MASKn参数。我说一下方法:
在“画图”(Photoshop、PaintShop)中将你要做动画条的地方用某种颜色画(填充)出来,然后用同样的颜色在图片的左上角(可在放大后画)画一个点(蒙板色标记)。这样,LOGOBAR就会知道凡是有此颜色的地方就要画动画条了。在DEMO的后几种效果中就演示了这个功能,你可对比原图DEMO.BMP来看看。
我其实还有很多想法,也在构思更好的方案,但限于命令行方式不好实现。不过现在已经基本有些眉目了,将来的新版中会加上GUI方式的。



从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-4 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复
s32307
中级用户




积分 246
发帖 53
注册 2004-6-7
状态 离线
『第 5 楼』:  

易老师辛苦了!我也是一个老师,老一点的老师了。

问一个问题:能不能把盖茨头部(IO.SYS)里的画面改掉?

我恨死老盖了!



天下石姓论坛欢迎你!百度一下“天下石姓”吧!
2004-7-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『第 6 楼』:  

Windows98里的IO.SYS自带了一个LOGO,改它不容易(我还没研究过[em09])。
    不过Wengier已经把它去了做成了DOS7.10,用DOS7.10的IO.SYS替换它,再加个LOGO.SYS也就可以了吧。也许问问Wengier,他可能有办法。



从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-5 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 7 楼』:  

我的确换过Win98的系统文件中自带的LOGO,不过我觉得不仅复杂,而且实在没有什么意义。既然这儿是DOS世界和DOS论坛,不如用更纯的MS-DOS 7.10,其IO.SYS里面已经没有LOGO了,如果想自定义LOGO的话还不如修改LOGO.SYS,简单方便多了。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-7-5 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
walu
高级用户




积分 916
发帖 201
注册 2003-5-4
状态 离线
『第 8 楼』:  

运行logobar时,提示“load error: no DPMI - GET csdpmi*b.zip”
怎么回事呢?

2004-7-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『第 9 楼』:  



  Quote:
以下是引用walu在2004-7-5 上午 09:24:53的发言:
运行logobar时,提示“load error: no DPMI - GET csdpmi*b.zip”
怎么回事呢?

是这样,这程序是用DJGPP写的,需要DPMI支持。在Windows下运行时不会有提示,但在DOS下时必须在%PATH%中能找到Cwsdpmi.exe才行。我现在把它传上来,你将它放在同一目录下即可,但最好放在%PATH%中,因为还有很多程序可能会用它的。嗯,对了,Cwsdpmi.exe在Wengier那张DOS7.1超级启动盘中有。
点击这里下载CWSDPMI.EXE
我现在把LOGOBAR.ZIP里加上了CWSDPMI.EXE了,你也可重新下载。[em09]



从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-5 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 10 楼』:  

这确实是个好软件!其实启动LOGO其实本来就是DOS的,以前网上却一直找不到纯DOS下修改启动LOGO的软件,而只有WIN下的XrX Bar等,十分可惜。事实上DOS不管在新电脑还是旧电脑中都可以方便的使用。现在终于有纯DOS下修改开机LOGO的软件了,而且功能更加强大,非常好,值得推荐(当然,正如您所说的,如果在DOS下使用GUI方式来操作就更加实用了)!我将会把它加入到“新DOS时代”网站中。

另外问一下,此程序有源代码吗?您最近还准备开发其它DOS软件吗?





Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-7-6 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『第 11 楼』:  

源代码当然有了,但现在不能发布,因为程序功能还不完善,我自己会好修改些--[em02]不要误会,我的代码风格很好。等我跟据朋友们的反馈完善一下功能后,可以拿出来共享的[em19]。
  最近没写别的,工作忙,还有自己觉得还是要写些实用、稳定的程序,不写花里胡哨的东西。



从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-6 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复
o2y
中级用户




积分 226
发帖 51
注册 2004-4-16
状态 离线
『第 12 楼』:  

我喜欢功能强大而且小巧的程序!顶!
有机会多交流^_^

2004-7-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Gandalf
中级用户

CPU


积分 362
发帖 96
注册 2004-7-8
来自 北京
状态 离线
『第 13 楼』:  

诸位看看这个启动画面如何? [em07]



f22_storm@163.com
http://sysoft.zdwx.com/
2004-8-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 14 楼』:  

楼上的LOGO不错,只是看起来太扁了。在设计LOGO的时候应该把图像大小设为640 x 480,设计完以后再把图像调整为320 x 400,这样的LOGO会好些。



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2004-8-4 00:00
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
wchong
银牌会员




积分 1186
发帖 510
注册 2004-7-30
状态 离线
『第 15 楼』:  

好东西,我先试一试。

2004-8-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: