編輯:關於Android編程
說到老照片,很多人就會想起兒時的照片。沒錯,老照片就是這樣的,我稱之為情懷濾鏡。
先說一下Android圖像矩陣處理(圖片來源 慕課網)
也就是說,每一個矩陣都對應著一個唯一的濾鏡(效果)。
那麼,老照片濾鏡(效果)是一個什麼樣的矩陣呢?
先看一下代碼:
//老照片 public static Bitmap OldPhoto(Bitmap bm){ int Width = bm.getWidth(); int Height = bm.getHeight(); Bitmap bitmap = Bitmap.createBitmap(Width, Height, Bitmap.Config.ARGB_8888); int color = 0; int r,g,b,a,r1,g1,b1; 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); //老照片矩陣 r1 = (int) (0.393 * r + 0.769 * b + 0.189 * b); g1 = (int) (0.349 * r + 0.686 * g + 0.168 * b); b1 = (int) (0.272 * r + 0.534 * g + 0.131 * b); //檢查各像素值是否超出范圍 if(r1 > 255){ r1 = 255; } if(g1 > 255){ g1 = 255; } if(b1 == 255){ b1 = 255; } newPx[i] = Color.argb(a, r1, g1, b1); } bitmap.setPixels(newPx, 0, Width, 0, 0, Width, Height); return bitmap; }老照片矩陣就是這樣的:
0.393 0.769 0.189
0.349 0.686 0.168
0.272 0.534 0.131
每一行之和都為1,就是說,每個點的rgb值都是原來rgb值按照這個比例實現的。
現在來看一下效果:
滿滿的情懷。
大多圖片裁剪大多兩種操作:改變裁剪區圖片不能縮放、裁剪區固定圖片縮放,兩種方法都可以裁剪到不同圖片,本次介紹的是可變裁剪區同時能縮放圖片,同時記錄自己的開發項目過程。裁剪
新版手機QQ有一個洗功能就是QQ錢包,可以發紅包,如果我們想要使用qq錢包的功能的話,一般很多時候都要求我們綁定銀行卡的。那麼新版手機QQ怎麼綁定和解除銀行
圖片輪播幾乎是每個APP都會用到的功能,在這篇文章我用ViewPager實現一下這個功能。先看一下最後的效果支持左右兩邊圖片輪流滑動,並且兩秒自動滑動首先看布局文件
一.內存洩漏概念1.什麼是內存洩漏?用動態存儲分配函數動態開辟的空間,在使用完畢後未釋放,結果導致一直占據該內存單元。直到程序結束。即所謂的內存洩漏。其實說白了就是該內存
問題背景: 參考鏈接 做了一個圖片浏覽,用ContentResolver