路径:大米!cs.utexas.edu!uwm.edu!srcsip!杰瑞格!com50!派!电子逆向通信发件人:erc@pai.UUCP(埃里克·约翰逊)新闻组:comp.graphics主题:回复:PCX的格式日期:90年6月8日14:28:12 GMT组织:Boulware Technologies,Inc.,明尼苏达州伯恩斯维尔很久以前,我编写了一个screen-dump实用程序,可以输出单色.PCX(PC-PaintBrush)文件。联系Z-Soft,PC PaintBrush的制造商关于的完整技术手册。PCX文件格式。86年,我遇到了一些问题使用手册(似乎有一些空白),因此下面附上的是Boulware Technologies(我工作的公司)我写的关于这个主题的技术说明。这张便条是旧的,如果你发现任何错误,很抱歉。当然,Z-Soft是,这方面的主要信息来源。我建议你联系他们。因为注释的大部分内容都是关于我如何允许用户映射16种EGA颜色到黑色或白色圆点(这些屏幕转储用于文档工作人员使用),我删除了不需要的部分与您相关。(.PCX文件允许彩色,通常使用四个彩色平面。数据然后在文件中一次输出一个平面。参见Z-Soft手册了解更多信息。)-------PAWS技术说明29PC-画笔图形转储88年3月4日E F Johnson一份非常技术性的技术说明,描述了制造PAWS的新方法屏幕显示为标准格式。PCX文件。...[……删除了PAW相关内容。我真的认为你不需要信息在我们的工厂自动化界面上。如果是,请给我发电子邮件…]...3) 打印出。PCX文件,使用PC-Paintbrush或Ventura PublisherPC的软件包。无需翻译程序。4) 答:。PCX文件具有以下格式:首先,它有一个128字节的标头,看起来像(按照文件中的顺序):字节解码定义中的大小1制造商10==PC画笔PCX1版本0==2.52==2.8,带调色板信息3==2.8,无调色板信息5==3.0,带调色板信息1编码1==。PCX运行时编码单声道图像使用1位/像素8窗口(最小X,最小Y)(最大X,最大Y)2水平分辨率2垂直分辨率垂直分辨率48(16*3)彩色地图R、G、B,每种颜色16种使用的彩色地图是:0, 0, 0 255, 255, 2550, 170, 0 0, 170, 170 170, 0, 0170, 0, 170170, 170, 0170, 170, 17085, 85, 85 85, 85, 255 85, 255, 8585, 255, 255255, 85, 85255, 85, 255 255, 255, 85255, 255, 255保留1(这将放入0)1 Num Planes彩色平面的数量,这使用1每行2字节640像素/8=每行80字节128字节标头的其余部分用零填充。注意:整数值(2个字节)在Big-endian中按PC字节顺序/小发动机方案。PAWS代码使用以下联合:联盟{字符cpart[2];内部ipart;}u;将int转换为标头中的两个字节。文件中的数据位于标头之后。数据部分包含一组扫描线,按像素从左到右,然后从上到下运行。每个扫描线包含每个具有8个像素的字节(由于这是单色的,每一位代表一个像素)。PC-Paintbrush使用编码方案以节省文件空间。基本上,该方案比较相邻字节在一条扫描线上。如果相邻字节相同,则写入带有计数(实际上是0xC0|count)的标志(0xC0)。下一个字节是重复的数据字节。例如,如果五个字节相同01(十六进制),01 01 01 01 01这个。PCX输出只有两个字节C5 01号其中C5表示计数为5的特殊标志(C)下一个位置是数据字节。如果下一个字节中没有匹配项。PCX文件只使用普通数据字节(隐式计数为1)。例如,如果字节流是01 01 01 01 01 04 01 01 这个。PCX输出为C5 01 04 C2 01号注意:这一点。PCX格式分为两种情况:i) 如果字节值>=0xC0,(标志代码==前两位为开),则格式必须使用C1(计数为1的标志)ii)如果相同字节数超过15个,则计数使0xC0变为0xD0或更高。这混淆了PC-Paintbrush中的解码软件。相反,只使用15以下的计数。如果中有17个相同的字节一行,使用两个计数标志,例如。,01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01成为CE 01 C3 01有关PC画笔文件格式的更多信息,请访问Z-Soft技术参考手册,1986版。*****//*--定义PC Paint Header*/#定义PCPAINT 10/*--。PCX文件*/#定义PCXVERSION 5/*--带调色板信息的PCPaint 3.0*/#定义编码1/*--。PCX编码*/#定义BITSPERPIXEL 1/*--单色*/#定义NUMPLANES 1/*--单色*/#定义WIND_X1 0/*--窗口坐标*/#定义WIND_Y1 0/*--窗口坐标*/#定义WIND_X2 639/*--窗口坐标*/#定义WIND_Y2 349/*--窗口坐标*/#定义HRES 640/*--水平分辨率*/#定义VRES 350/*--垂直分辨率*/#define BYTESPERLINE 80/*--每个扫描行的字节数*/希望这有帮助,-埃里克-- Eric F.Johnson,Boulware Technologies,Inc.公司。415 W.Travelers Trail,Burnsville,MN 55337 USA电话:+1 612-894-0313。erc@pai.mn.org-或-邦加!派!电子逆向通信美国总统福特(Ford)表示:“情况比以往任何时候都更像现在。”。