博文
艺术再现BMP图像(2006-05-16 21:44:00)
摘要:艺术再现BMP图像
大家都用过PowerPoint吧,所谓艺术再现就是指把图像通过一些特效展现出来。这可以通过C语言来编写,感
兴趣的同学不妨通过上面学到的知识来自己动手编写一下。
文章转载
下文是原tc256.com版主wujin的一篇文章,我们不妨拿来看看。
显示256色BMP位图
学习该文章应具备的预备知识:
(1)VGA显示系统
(2)BMP图像文件格式
(3)256色模式写屏以上文章在TC256专题站(http:\\tc256.51.net或http:\\wujin00.home.chinaren.com)均有
介绍。
学习该文章的补充知识:
1.VGA的DAC色彩寄存器知识 前面我已经讲过,16色和256色模式显示时,需要一张颜色表,以将显存的数据
“翻译”为屏幕上的点信息。 该颜色表在显卡芯片中其实对应一组寄存器,该寄存器就是DAC色彩寄存器,
在非真彩色的屏幕模式下,修改了DAC寄存器的值,就相当于修改了显存中某种色号对应的色彩信息。在VGA及
其兼容卡中,一共有256个该寄存器构成了一片存储单元,该单元就是显示器的DAC色表。 在256色BMP位图
中,也有这样一张色表,记录了该图片不同色彩信息对应的RGB值,该色表位于BMP文件54字节的位置处,按
照:B、G、R、alpha 的顺序排列的,但该RGB信息与DAC色彩寄存器的信息不同,DAC寄存器需要的颜色以6位表
示,即最大值为0x3F,而该BMP中的色表以8位表示,最大值为0xFF。因此,要将BMP位图的颜色信息换算为显示
的DAC信息,只需将从BMP获得的值右移2位即可。
2.硬件无关屏幕初始化 现在我已经找到了硬件无关性初始化屏幕为640*480 256色模式的方法。这样一来
,只要在屏幕初始化之前先记录下原来的屏幕模式,程序结束后再恢到复原来的屏幕模式即可。
以下是完整的TC2程序代码:
/*--------------------256bmp.c----------------------*/
#include "dos.h"
#include "stdio.h"
selectpage(register char page)......
C语言实现在DOS下显示图片(2006-05-16 21:28:00)
摘要:请问用c 语言,怎样才能实现在DOS下显示图片。
undercontrol (兵临城下) 2004-07-07 12:37:34 在 C/C++ / C语言 提问
图片格式任意。
问题点数:20、回复次数:13
1楼 snowegale888 (dragon) 回复于 2004-07-07 12:49:40 得分 5
用c语言的图形接口函数。查一查,应该是没有问题的
可能是要用循环一点一点的画出来的吧
Top
2楼 undercontrol (兵临城下) 回复于 2004-07-07 12:54:52 得分 0
问题是图片一般都是二进制文件,提取这些二进制没有问题,但怎样区分他们,
怎样才能把它们转化为对应的色点。最后把它们从屏幕上画出来到是很简单。
Top
3楼 archim (PRC) 回复于 2004-07-07 13:49:11 得分 0
对于每一种类型的图片,仔细阅读关于这种图片文件格式的详细说明
Top
4楼 storyboy (故事) 回复于 2004-07-07 13:54:14 得分 5
这就要看具体的图片格式了,比如24位真彩色的图象24位表示一个点8×8×8(R×G×B);256色的图象存的是一个调色板和8位的索引值
Top
5楼 wangwei8117 (还没学会编程。) 回复于 2004-07-07 15:29:55 得分 0
学习中
Top
6楼 scyangd (Thinking) 回复于 2004-07-07 18:05:15 得分......
关于英文DOS下的汉字显示技术(2006-05-16 21:23:00)
摘要:
一、汉字库结构及区位码
国家标准的汉字字符集(GB2312-80)在汉字系统中是以汉字库的形式提供的。汉字库中将汉字分成94个区,每个区有94个汉字,即所谓的“区”和“位”,每个汉字在字库中都有确定的区号和位号(用两个字节表示),这两个字节就叫做区位码。区位码的第一个字节表示区号,第二个字节表示位号。只要知道了汉字的区位码,就可以知道该汉字在汉字库中的位置。
二、汉字的内码
英文字符在计算机中是用一个字节的ASCII码表示的,该字节最高位一般用于奇偶校验,故实际是用7位码来代表128个字符的。即ASCII码的8个bit位中最高位是为0的,所以为了区分一个字节是汉字还是ASCII码,当汉字的国标码在机内表示时,将汉字国标码两字节的最高位均置1,以表示该码表示的是汉字。这个最高位置1的码就是常称的内码。
三、内码转换为区位码
区号 = 内码高位 - 0xa0
位号 = 内码低位 - 0xa0
若用十进制表示内码为c1c2,则区号(qh)和位号(wh)为:
qh = c1 - 160
wh = c2 - 160
(注: 160D = A0H)
即区位码(qw)为:
qw = 100 * (c1-160) + (c2-160)
四、汉字库的制作
UCDOS 7.0里面有个“特显”功能,能显示任意宽度和任意高度的汉字。有相应的演示文件和原码都在“D:\UCDOS\SRC\TX\C”目录下,但其中演示文件在运行前,必须先敲一个“TX”命令,启动特显功能。
制作汉字库可以用以下方法:将所有汉字显示到屏幕上,每显示一个汉字时,将屏幕上的汉字区域截下来,存成二进制文件。)(当然要自己写程序):
1、 根据上面讲到的区位码与内码的对应关系,用下面的双重循环就可以显示94个区乘94个位的所有汉字。
……
char ch[3];
for( i = 0 ; i < 94 ; i ++ )
{
&n......
启动盘镜像下载(2005-10-19 21:25:00)
摘要:
王牌启动盘 V2.1 光盘版 [系统其它]
王牌启动盘v2.1光盘版内容介绍: 主要特点:本启……
操作系统:Dos 授权方式:免费版
2005-09-20
64970
2549KB
爱之屋克隆自动恢复启动盘 V3.0 Build 2004.03.03 [数据备份]
现在就来介绍下《爱之屋克隆自动恢复启动盘》V3.0 新添……
操作系统:Dos 授权方式:免费版
2004-03-04
22302
14866KB
全中文MS-DOS7.10(Win98)启动盘 V2.1 1.68MB软盘 [系统其它]
这是你可以找到的启动盘中汉化程度最高的一张启动盘。……
操作系统:Dos 授权方式:免费版
2004-02-22
70236
1650KB
全中文MS-DOS7.10(Win98)启动盘 V2.1 光盘版 [系统其它]
全中文MS-DOS7.10(Win98)启动盘 V2.1 光盘版 这是……
操作系统:Dos 授权方式:免费版
2004-02-19
78377
2657KB
全中文MS-DOS7.10(Win98)启动盘 V2.1 软盘版 [系统其它]
全中文MS-DOS7.10(Win98)启动盘 V2.1 软盘版 这是……
操作系统:Dos 授权方式:免费版
2004-02-19
91485
1364KB
DOS80中文启动盘 V......
如何制作支持U盘启动及BCDW的大容量映像文件(2005-10-19 21:22:00)
摘要:你需要两个软件。Winimage&RamdiskNT。
1、安装ramdiskNT,然后虚拟一个你需要大小的虚拟磁盘空间。然后
用winimage选择该驱动器并读取生成映像文件(ima格式)。这样大容量
映像就生成了。
2、以msdos启动盘为例,随便找一个标准1.44兆启动盘映像,用winimage
保存引导扇区属性功能保存其引导文件。一般为512字节大小的一个bin文件。
然后再用winimage打开您制作的任意大小的映像文件加载那个bin文件就好了。
现在你的映像已经具备启动扇区。你需要做的是再拷贝msdos.sys、iodos.sys、
command.com三个文件到你的映像文件中就ok了。
当然你如果想制作500M的映像,那也不是不可能,你只需要分一个500兆的分区
用同样的办法先生成映像,再用同样的方法制作启动就好了。这样的好处就是
如果你制作了WIN2KORXP万能GHOST版,你可以把GHO文件直接存在映像里面了。
这样你就克服了如果你有两个光驱无法自动恢复系统的问题了。
以上提到的两个工具请到正维精品http://zw963.ys168.com (不知道现在还能不能登入如果不能只有百度一下看看了!)精品软件推荐区下载。并附送64兆可启动映像实例一个提供下载。其中只有必需的几个文件,顺便带了本人修改的PDOS95,自带DOS下的微软拼音输入法,比天汇兼容汉字系统的输入法好多了!本映像用winimage优化过碎片,所以只
有几百k,但其容量可不是这么一点哦。如果你希望U盘启动,直接用winimage
写入U盘所在驱动器就好了。
......
快速制作光盘启动盘(2005-10-19 21:01:00)
摘要:快速制作光盘启动盘
需要什么
1、一个SCSI或IDE/ATAPI CD光盘刻录机;
2、一张CD-R空白盘片;
3、光盘刻录软件:Adaptec Easy CD Pro, Easy CD Creator;
4、一张质量较好的软盘。(没有软驱的推荐“仿真虚拟软驱”在xp下加载软盘镜像也可)
制作软盘启动盘(到启动盘的制作里看看)
制作启动光盘
这里用Adaptec's Easy CD-Creator光盘刻录软件来制作:
1、将上一步制作的软盘启动盘插入软驱;
2、启动Adaptec?s Easy CD-Creator,单击 File菜单中的CD Layout Properties,输入光盘的卷标比如BOOTCD,然后单击“Data Settings”标签,文件系统选择默认的ISO9660,选中“Bootable”选项,确定,系统会提示你插入启动软盘,单击“OK”,系统会依照启动软盘上的内容在光盘的内容区窗口中自动生成两个文件Bootcat.bin,Bootimg.bin。
3、从上面的浏览器窗口中拖动你要刻录到光盘上的其他文件到右下角的光盘内容窗口中。
4、检查光盘中的内容及目录结构,无误后按下刻录按钮即可刻录出一张引导光盘。这里要注意的是较早版本的Adaptec's Easy CD-Creator软件不支持目前市面上有些刻录机,你需要到http://www.adaptec.com网站上下载相应的补丁程序。
用NERO软件刻录
nero在开始就选择“启动光盘bootcd”再进入,当刻录时放入启动软盘就行了。
---- Windows 98以后版本的光盘安装都具有引导系统及启动计算机的功能,这为我们在空白状态下安装系统和出现故障后引导系统并进行修复提供了方便。那么,能不能自己制作由光驱引导系统的光盘启动盘呢?答案是肯定的。Nero(下载地址为http:// www.ahead.de/)可以简单地刻制普通光盘启动盘,甚至可以制成直接在光盘上运行Windows的特殊启动盘。
一、制作普通光盘启动盘
---- 1.启动“Nero-Burning Rom”后,打开“New Compilation”对话......
多功能中文启动盘的制作(2005-10-19 20:49:00)
摘要:多功能中文启动盘的制作
1、需准备的工具——如Grduw、MaxFORMat等磁盘工具,将软盘最大格式化(按1.72M格式化但实际只有1.66M可用),以保证足够的空间。到华军软件园下载 CabinetManager2001c汉化安装版压缩工具,利用它来打造新的Ebd.cab文件。
2、制作启动盘——
a、制作一张英文启动盘,去掉文件的隐藏属性,在硬盘上建立QD98文件夹,将英文启动盘中的所有文件复制到该文件夹,再将软盘最大格式化。
b、用WINZIP解压QD98下的Ebd.cab得到一个Ebd文件夹,从已安装东方快车2000的计算机中提取:Hh.idx、Hh.lib、Ccdos.bat、Ccdos.exe、Ccdos.ini、Ccdos.pkv、Dfkc.exe、Hzk16、Quit.exe、Ccdos.mb共十个文件,将其全部复制到Ebd并保留文件夹中已有文件。再从WIN98系统文件中提取Smartdrv.exe和Deltree.exe文件,将前者复制到QD98文件夹,后者复制到Ebd文件夹。
c、利用CabinetManager2001c选择最大压缩比将Ebd文件夹中的所有文件(注意:一定要选所有文件)制成一个新的Ebd.cab并覆盖QD98文件夹下的原文件,删掉Ebd文件夹。
d、编辑Autoexec.dat文件,在@ECHO OFF下加入A:\Smartdrv.exe,在最末一行加入 md %ramd%:\Data copy %ramd%:\hh.idx %ramd%:\Data copy %ramd%:\hh.lib %ramd%:\Data %ramd%:\ccdos.exe %ramd%:\dfkc.exe 存盘并退出。最后将QD98文件夹下所有文件复制到已格式化的软盘,这样就完成了多功能WIN98启动盘的制作。
&......
Windows 98启动盘的特殊应用和技巧 (2005-10-19 20:35:00)
摘要:Windows 98启动盘的特殊应用和技巧
Windows 98启动盘具有多种用途,能否对Windows 98的启动盘稍加修改,以满足在某些特殊情况下的特殊需要呢?以下是笔者对此摸索出的三点经验。
1、用Windows 98启动盘直接启动进入Windows 98
大多数用过Windows 98启动盘的朋友可能和作者有同感:虽然它名曰启动盘,但实际上无法用Windows 98启动盘启动进入 Windows 98。解决这一问题的方法是:将C:盘根目录下的msdos.sys文件拷贝到Windows 98启动盘,覆盖掉其根目录下的同名文件即可。注意如果在Windows 98下没有显示msdos.sys和io.sys,就需要将文件夹属性中的“显示所有文件”选项选中。启动盘之所以不能启动到Windows 98,原因是启动盘中的msdos.sys文件是空的。实际上任一含有io.sys和上述msdos.sys文件的软盘均可启动到 Windows 98。
2、制作带有光驱驱动及常用DOS6.22命令的DOS6.22启动盘
方法是在DOS6.22系统下用“sys a:”命令传递DOS6.22系统文件即做成一张带有光驱驱动的DOS6.22启动盘。用该盘启动系统,可以看到原来的Windows 98启动菜单变成了DOS6.22的启动菜单。但此时启动盘在内存中建立的虚拟盘(ramdrive)中的DOS命令以及启动盘本身带有的几个DOS命令仍属DOS7.1版本,在DOS6.22系统下无法执行。此时,可进一步修改启动盘的有关文件,使DOS7.1版本的命令变为 DOS6.22版本的命令。在Windows 98启动盘中,ebd.cab文件即是含有DOS命令的压缩文件,因此,将需要用到的DOS6.22命令文件以cab格式压缩成ebd.cab文件替换原有的ebd.cab文件,即可做成带有光驱启动及常用DOS6.22命令的DOS6.22启动盘。另外,也可将DOS6.22命令文件以arj格式压缩成ebd.arj文件。拷贝arj.exe和ebd.arj文件到启动盘,并同时删除ebd.cab和 extract.exe文件。最后,修改启动盘的autoexec.bat文件,将该文件中的extract.exe替换为arj.exe, ebd.cab替换为ebd.arj,将%......
用Win 98系统启动盘解决常见启动问题(2005-10-19 20:27:00)
摘要:(一)用Win 98系统启动盘解决常见启动问题
1、Win 98启动失败
Win 98启动失败原因可能很多,检测故障的第一步,是尝试以安全模式启动计算机。以安全模式启动计算机步骤如下:
①启动计算机,在Win 98开始装载前按住CTRL键,直到显示“Win 98 Startup Menu”。
②选择“Startup”菜单上的“Safe Mode”。
若安全模式正常工作,则可以使用帮助系统和疑难解答。
2、安装失败和计算机不启动
Win 98安装不成功的常见原因有多种。在运行安装程序时可能遇到以下错误消息:
1) 非法系统盘;
2) MS-DOS版本不对;
3) Command.com文件丢失或损坏;
4) 压缩驱动程序错误。
这些很可能是计算机的启动驱动器需要更新系统文件。可用SYS命令将需要的文件复制到计算机上。如在安装期间仍在运行反病毒软件,那么,它们可能阻碍安装程序更新系统文件。若果真如此,只要禁用或卸载反病毒软件,然后再运行安装程序。如果在检测硬件时安装程序停止响应,可关闭计算机稍等数秒钟,然后再开机。可能需要如此反复多次,因为安装程序在多种不同的检测模式中可能停止响应。
注意此时要关闭计算机的电源,不要用复位按钮或Ctrl+Alt+del重新启动计算机。如果安装仍然不能顺利进行,可能需要以安全模式启动计算机,以便查阅与硬件检测有关的帮助主题。另外不能访问压缩驱动器的原因很多。如果Windows目录在一个尚未连接的驱动器上,则无法启动Windows。如果怀疑压缩驱动器有问题,可试用磁盘扫描程序来修复。方法是:在A:\提示符后面键入“Scandisk/Mount X”,其中X为压缩驱动器号。磁盘扫描程序将会修复此磁盘并连接该驱动器。
......
解析Win 98系统启动盘的新增特性(2005-10-19 20:23:00)
摘要:解析Win 98系统启动盘的新增特性
和以前的Windows9X相比,Win 98的启动盘作了很大的改进,其新增特性主要在于:
1、使用多配置启动菜单增加了通用光驱驱动程序
如果用Win98启动盘启动机器,将会出现含有三个项目的多重引导菜单:
Start computer with CD-ROM Support
Start computer without CD-ROM Support
View the help
选择第一项就可以加载通用光驱驱动程序,此驱动程序能支持绝大多数ATAPIIDE和SCSI光驱。这样你就可以直接从光驱上安装Win98或其它软件,这对于经常攒机的朋友尤其方便。
2、创建虚拟磁盘(RAMDrive)
在启动过程中,还将创建一个其大小为2MB的虚拟磁盘。由于在单张1.44MB软盘上没有足够的空间存放诊断工具以及CD-ROM驱动程序,因此这些文件被压缩在EBD.CAB文件中,启动时再释放到虚拟磁盘上。以后运行磁盘扫描、分区、格式化等工具软件的速度将大大加快。
3、增加了EXT.EXE程序
EXT.EXE实际上是EXTRACT.EXE的外壳程序,直接使用EXTRACT程序则比较灵活、复杂,但只适用于高级用户。而使用EXT.EXE 程序可以很容易地将压缩在CAB包中的文件释放到硬盘上,可以用它来恢复丢失或毁坏的文件。如果在安装时遇到“文件丢失’或执行文件错误(如一般保护错误)或“非法页面错误”的消息,则这个实用程序特别有用。用EXT.EXE摘取文件的步骤如下:
(1)使用Win 98启动盘重新启动计算机,选择选项1,然后按Enter键。
(2)将Win 98光盘插入驱动器。
(3)在MS-DOS命令提示符后面键入EXT,然后按Enter键。
(4)在提示待后面输入Win 98安装文件的位置、要抽取的文件位置和安放所抽取文件的位置。如果想一次摘取多个文件,可以使用通配符。
......