發表文章

目前顯示的是 十月, 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

RGB轉灰階公式

想取得RGB格式的灰階明亮度,可以利用RGB轉YUV公式中Y的部份:
Y = R * 0.299 + G * 0.587 + B * 0.114;
參考資料:
http://zh.wikipedia.org/wiki/YUV

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