編輯:關於Android編程
底片效果是怎麼實現的?
先看看代碼:
//底片
public static Bitmap Negative(Bitmap bm){
int Width = bm.getWidth();
int Height = bm.getHeight();
int color;
int r,g,b,a;
Bitmap bitmap = Bitmap.createBitmap(Width, Height, Bitmap.Config.ARGB_8888);
int[] oldPx = new int[Width * Height];
int[] newPx = new int[Width * Height];
bm.getPixels(oldPx, 0, Width, 0, 0, Width, Height);
for(int i = 0; i < Width * Height; i++){
color = oldPx[i];
r = Color.red(color);
g = Color.green(color);
b = Color.blue(color);
a = Color.alpha(color);
//各通道值顏色值反轉
r = 255 - r;
g = 255 - g;
b = 255 - b;
//檢測各通道值是否超出范圍
if(r > 255){
r = 255;
}else if(r < 0){
r = 0;
}
if(g > 255){
g = 255;
}else if(g < 0){
g = 0;
}
if(b > 255){
b = 255;
}else if(b < 0){
b = 0;
}
newPx[i] = Color.argb(a, r, g, b);
}
bitmap.setPixels(newPx, 0, Width, 0, 0, Width, Height);
return bitmap;
}
輸入一張正常的圖片,返回的是對應的底片濾鏡。
可以看到
//各通道值顏色值反轉 r = 255 - r; g = 255 - g; b = 255 - b;這幾行代碼是說明一張圖片的每個像素點的顏色值都被反轉了,差不多的理解就是白變黑,黑變白。
再來看看效果:

還是比較好看的。
Android之——系統進程與用戶進程分離
在上一篇博文《Android之——殺死用戶選中的進程優化》一文中,我向大家介紹了如何優化用戶的體驗,那麼這篇博文中,我將向大家介紹如何進行系統進程
Android Studio生成自定義jar包
眾所周知android studio會在library所依賴的app運行或者build之後自動生成jar,路徑為build/intermediates/bundles/d
android開發使用SQLite之寫日記
使用數據庫實現對數據的存儲。 下面上一個小例子,寫日記。 效果如下: 當LIstView中沒有數據顯示時,我們需要告訴用戶沒有數據.
Android中關於JNI 的學習(零)簡單的例子,簡單地入門
Android中JNI的作用,就是讓Java能夠去調用由C/C++實現的代碼,為了實現這個功能,需要用到Anrdoid提供的NDK工具包,在這裡不講如何配