找回密码
 注册
搜索
热搜: 超星 读书 找书
楼主: meibf

[探索发现♡] 发现  图像科学类-《难道这是传说中的“白洞”》(meibf原创)√已有答案√欢迎深

[复制链接]
 楼主| 发表于 2008-1-19 22:20:43 | 显示全部楼层
呵呵,没想到变成白洞了。其实这只不过是把黑白图片的前景色和背景色改成一样的颜色而已,超星阅览器就有这个功能,打开它的“选项...”切换到“页面显示”那页就看到了。
上面那张图是用看图软件irfanview的“编辑调色板”功能做到的,我估计Acdsee也应该有类似的功能。
回复

使用道具 举报

发表于 2008-1-20 11:23:15 | 显示全部楼层
研究了下,BMP文件原理可以参考wsbswdx帖,但是对于这幅白洞图,BMP图像文件由三部分组成:文件头、位图信息头和位图阵列。应该改为有四部分,其中加个第三部分是调色板。
调色板实际上是一个数组,共有biClrUsed个元素(如果该值为零,则有2biBitCount个元素)。数组中每个元素的类型是一个RGBQUAD结构,占4个字节,其定义如下:
typedef struct tagRGBQUAD {
BYTE  rgbBlue; //该颜色的蓝色分量
BYTE  rgbGreen; //该颜色的绿色分量
BYTE  rgbRed; //该颜色的红色分量
BYTE  rgbReserved; //保留值
} RGBQUAD
当表示一个像素的颜色时,只要指定该颜色是在数组的第几个元素就可以了。
比如是1bit的图,可以用0表示黑色,1表示白色。这样用1bit就可以表示一个像素的颜色,可以使图像文件的大小减小。如果直接用颜色表色,则黑色表示(三基色表示,红色=00,绿色=00,蓝色=00)白色(红色=255,绿色=255,蓝色=255),
对于这个图,因为是1bit(二进制位)图,也就是用1位二进制位表示颜色,一般0表示黑色,1表示白色。调色板共有2个元素,分别用来指定1bit位(1bit只有“0”和“1”)对应的颜色的。
现在来看看这个图bmp文件的调色板,可以用ultraedit软件打开,调色板两个元素位于36H和3a位置,((即位于30h那一行,第6列开始和第a列,16进制表示)。
可以看到这个图两个元素都是FFFFFF00和FFFFFF00,那么可以看到对于一位二进制位无论‘0’或‘1’都对应白色FFFFFF(16进制FF对应十进制255),这样就看到的都是白色,所以必须修改,可以直接用ultraedit软件修改。将36H位置的调色板元素改为00000000H(图就是黑底白字),或3a位置改为00000000H(这种情况就是秋水小柯所帖的图)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2008-1-20 11:42:53 | 显示全部楼层
看了这个帖子,长学问了,图像还有这么多道道,学无止境呀
回复

使用道具 举报

发表于 2008-1-20 14:23:03 | 显示全部楼层
打开word文件,然后把空白处截图下来,就可以看到“白茫茫一片,大地真干净!”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-5-1 22:46 , Processed in 0.382276 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表