跳到主要內容

發表文章

目前顯示的是 10月, 2011的文章

《News》Android 4.0 (Ice Cream Sandwich) Announced!

Android 4.0 (Ice Cream Sandwich) announced, SDK also available for download. For more detail please refer to: http://android-developers.blogspot.com/2011/10/android-40-platform-and-updated-sdk.html http://developer.android.com/sdk/android-4.0-highlights.html

Bitmap copyPixelsFromBuffer 顏色不正確?

最近在做圖像處理的功能時發現一個奇怪的現象,當使用 copyPixelsFromBuffer 直接將 ARGB_8888 順序的 Buffer 丟回給 Bitmap 時,顏色會偏藍。 後來查了一下才發現用 copyPixelsFromBuffer 丟 ARGB_8888 資料時,必須將 R 跟 B 交換,也就是用 ABGR 的順序,顏色才會正確。 將 ARGB 轉 ABGR 的方法: pixel = (R << 0) | (G << 8) | (B << 16) | (A << 24); 或 pixel = (pixel & 0xff00ff00) | ((pixel & 0x00ff0000) >> 16) | ((pixel & 0x000000ff) << 16); 註:若使用 setPixel 或 setPixels 來設定 Bitmap 的話,則不需調換。 參考資料: http://developer.android.com/reference/android/graphics/Bitmap.html#copyPixelsFromBuffer(java.nio.Buffer) http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/BitmapPixels.html