前期文章里,用四種不同顏色的像素點(diǎn)描了一個(gè)心形圖案,由于需要兩個(gè)比特的存儲(chǔ)空間來標(biāo)識(shí)四種不同的顏色(2^2=4),所以稱該圖的色深為二位。若每個(gè)像素點(diǎn)可能是十六種顏色之一,就要用到四個(gè)比特的存儲(chǔ)空間(2^4=16),則該圖色深為四位。圖1是同一幅256*256尺寸的圖片分別用八位色深(256色)、四位色深(16色)、一位色深(2色)表現(xiàn)出來的樣子。
第三張圖片只有一位色深,因?yàn)槊總€(gè)像素只有一個(gè)比特能存儲(chǔ)顏色,于是非黑即白,雖然圖中勉強(qiáng)還能分辨出兔子的模樣,但心形圖案卻完全和背景融合在一起了。在現(xiàn)實(shí)中,常常會(huì)遇到僅僅支持一位色深的設(shè)備,如單色的打印機(jī)、傳真機(jī)等,有什么辦法能將低色深的圖片信息盡可能清楚地告知觀者嗎?
說來奇怪,解決的方法是往圖片里加入冗余色點(diǎn),本文既不打算調(diào)用某個(gè)現(xiàn)成的圖形處理函數(shù),也不準(zhǔn)備陳述相關(guān)程序設(shè)計(jì)方法,而是要讓大家親自體驗(yàn)一下“人肉圖形處理器”是怎樣將四位色深(16色)圖片轉(zhuǎn)換成一位色深(2色)圖片,又盡可能保留圖片信息的。
1.找一幅四位色深(16色)圖片,或者將某張現(xiàn)成的照片轉(zhuǎn)成四位,考慮到“人肉圖形處理器”運(yùn)算速度很低,所以建議將圖片尺寸限定在256*256像素以內(nèi)。
2.將該圖片轉(zhuǎn)為xpm(X-pixmap)格式的圖像,大多數(shù)圖形處理軟件都支持該圖像文件格式,然后,用Word以文本文件的形式打開該圖像文件,這時(shí)可以看見,在此xpm圖形文件中,用16個(gè)不同的字母,標(biāo)識(shí)出16種不同的顏色,而整張圖其實(shí)就是由16種不同字母組成的點(diǎn)陣,如標(biāo)識(shí)心形圖案不同深淺顏色的,分別是從X到$7個(gè)不同的字母(如圖2所示)。
3.如果要將圖片轉(zhuǎn)為一位色深,最簡單方法,是將16種顏色中的8種變成黑色,另外8種變成白色,但這樣就會(huì)損失許多圖像信息。可在圖片中添加冗余色點(diǎn)。本文用一種奇怪的方法來模擬冗余色點(diǎn)的添加過程,那就是用Word制作一些用于“查找—替換”字母的宏,每隔若干個(gè)相同色點(diǎn),就將該色點(diǎn)替換成另一個(gè)色點(diǎn)。規(guī)則是:較暗區(qū)域中,將少數(shù)暗色點(diǎn)換成亮色點(diǎn),較亮區(qū)域則反之。以本文圖形為例,每隔7個(gè)“X”(深紅色點(diǎn)),將字母“X”替換成字母“:”(粉白色點(diǎn))。
4.將宏與某快捷鍵綁定,“人肉圖形處理器”就能登場了:一直按住快捷鍵,能很直觀地跟蹤用Word作圖片處理的全過程。筆者在進(jìn)行一位色深轉(zhuǎn)換時(shí),對圖中的心形圖案進(jìn)行了色點(diǎn)替換,而對兔子沒有進(jìn)行色點(diǎn)替換,效果很有對比性(如圖3)。留給讀者的問題是,專業(yè)的圖形處理軟件,也是這樣進(jìn)行色深轉(zhuǎn)換處理的嗎?(答案在本期找)