編輯:關於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 studio會在library所依賴的app運行或者build之後自動生成jar,路徑為build/intermediates/bundles/d
使用數據庫實現對數據的存儲。 下面上一個小例子,寫日記。 效果如下: 當LIstView中沒有數據顯示時,我們需要告訴用戶沒有數據.
Android中JNI的作用,就是讓Java能夠去調用由C/C++實現的代碼,為了實現這個功能,需要用到Anrdoid提供的NDK工具包,在這裡不講如何配