Pages

2011年2月9日 星期三

1byte 也要斤斤計較


  為了要利用 BCB TMemoryStream 製作出含有 BMP 格式的圖檔串流,我就得把我的 row data [註1] 做一次重排,因為 BMP 對於圖檔像素的擺放依序是左下->右上、BGR」。這也使得,如果計算擺放位置的時 index 差了一個,甚至差了幾個位置,就會導致圖片顏色錯誤,甚至內容斜一邊,如以下連結:


文字斜取 黑白文字出現黃藍邊緣


顏色錯誤 顏色正確 圖形黑色邊緣出現黃藍邊


  如果把失敗的圖片利用 photoshop 放大來看,就會發現白底黑字的文字部分,其實文字邊緣都有黃色和藍色線條,這就是因為錯位造成的,例如:


... 00 00 00 ff ff ff ff ff ff 00 00 00 ... ===============> ... 00 00 00 ff ff ff ff ff ff 00 00 00 ...
黑色 白色 白色 黑色 算錯一個index 黃色邊緣 黑色 藍色邊緣

所以真的是斤斤計較,影像處理上須注意,當然啦,這是基本功。

[註1] 擺放順序依序是圖片的「左上->右下、RGB」。

沒有留言:

 
Blogger Templates