微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题屏幕图形的再利用——介绍Windows图形和SPT图形的生成方法
栏目软件操作与技巧
作者广东李东
发布1993-10-01
  PICTA.GIF是屏幕拷贝下来的文件(320*200,256色),其内容包括文件标志位(2字节),显示模式(1字节),调色板寄存器内容(768字节),位图(64000字节),总长度共64771字节。
  BMP位图文件由三个部分构成,位图文件头、位图文件信息、位图阵列。下面以256色图象为例说明文件结构。
  序号 偏移量   长度      描述
  1  0    2    文件类型,值为BM(424DH)
  2  2    4    文件大小,以字节为单位(FE36H)
  3  10    4    位图阵列起始位置,相对于文件头的偏   移量字节数(0436H)
  4  14    4    位图信息头的长度(28H)
  5  18    4    位图的宽度(0140H)
  6  22    4    位图的高度(C8H)
  7  26    2    目标设备的级别,必须为1
  8  28    2    每个象素所占的位数,8(256色)
  9  30    4    位图的压缩类型,不压缩(0)
  10  34    4    位图的大小(FA00H)
  11  54    1024    存放颜色表,共256色,按B、G、R、00   存放
  12  1078    6400    位图阵列,从最后一行开始存放点阵
  SPT中未压缩的SPT图形文件(*.SPT)比较简单,它按点阵单色位映象存放图形,每个图形文件都有一个64字节的文件头,紧接其后存放图形的点阵,从第一行开始,逐行记录图形的点阵信息,每个字节对应8个象素点。
  序号  编移量    长度    描述
  1  0    16    文件头标志(Supper-Star File)
  2  34    2    图形宽度(0140H)
  3  36    2    图形高度(C8H)
  下面给出了具体实现的程序,为了适合不同的用户都能使用,故采用BASIC编程,PICTBMP.BAS程序是实现屏幕拷贝下来的文件PICTA.CIF转换成PICTBMP.BMP文件,程序40-120行是生成文件头;130-190行是生成颜色表,由于BMP文件中颜色亮度是由8bit决定,而PICTA.GIF中是6bit,故在变换时需左移2位;200-240行是生成位图点阵。
  PICTSPT.BAS程序是完成转移成SPT文件,由于SPT只能处理黑白二色,故首先需要Windows中把PICTAM.BAS程序生成的PICTBAM.BMP调入,再按单色图象格式存于PICTBW.BMP文件中,然后运行此程序,程序中40-120行生成文件头,130-170行是生成位图点阵。
  需要注意的是生成的PICTBMP.BMP文件是256种颜色的图象,如果Windows中是16种颜色的显示方式,显示效果自然会很差。这时需运行SETUP.EXE文件,把Windows设置成256种颜色的显示方式,这时你调入的图象将是一个色彩鲜艳的高质量图象。另外,对于不同的程序拷贝下来的画面,其文件格式有所不同,这时只需稍加修改程序中的数据,把颜色表位图点阵宽度、高度的数据修改在对应的位置上,即可同样获得你所需要的图象。此程序已在COMPAQ、AST的386、486机通过。(广东李东)