|
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 ]
|
从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。 |
|
2004-7-3 00:00 |
|
|
wangsea
中级用户
积分 445
发帖 110
注册 2004-5-28
状态 离线
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
o2y
中级用户
积分 226
发帖 51
注册 2004-4-16
状态 离线
|
『第
12 楼』:
我喜欢功能强大而且小巧的程序!顶!
有机会多交流^_^
|
|
2004-7-6 00:00 |
|
|
Gandalf
中级用户
CPU
积分 362
发帖 96
注册 2004-7-8 来自 北京
状态 离线
|
|
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 |
|
|
wchong
银牌会员
积分 1186
发帖 510
注册 2004-7-30
状态 离线
|
|
2004-8-5 00:00 |
|