Jun
12
2005

Tiger 上的 NSBitmapImageRep

update:應該不是 bug 的樣子。 :Q

今天遇到一件事情,一樣的 Code 從 Panther 拿到 Tiger 上去編跑出來的圖就會爛掉。

找了半天,原來是 NSBitmapImageRep 改新版在作怪。

說也奇怪,我明明指定了 SPP (SamplePerPixel) 是 3 ,但是 Tiger 上的 NSBitmapImageRep 似乎硬是要多算一個 Alpha Channel。這是為什麼呢?原因在於新版 NSBitmapImageRep 的 initialize method 多了一個 argument ,bitmapFormat (byte order)。照理說這個 byte order 設定成 default ,應該要能夠和 RGB 3 channel 相容。但事實不是如此,他還是當作四個 channel 算。推測這是 Tiger 為了加速圖形顯示,用 vDSP library 的話,ARGB 是比較好的排列(當然, Planar 更佳)。但是這無疑是個 Bug!

 
 

Write Concisely