編輯:關於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值按照這個比例實現的。
現在來看一下效果:

滿滿的情懷。
Android 可變裁剪區及縮放裁剪圖片
大多圖片裁剪大多兩種操作:改變裁剪區圖片不能縮放、裁剪區固定圖片縮放,兩種方法都可以裁剪到不同圖片,本次介紹的是可變裁剪區同時能縮放圖片,同時記錄自己的開發項目過程。裁剪
新版手機QQ怎麼綁定和解除銀行卡 手機QQ綁定銀行卡辦法 手機QQ怎
新版手機QQ有一個洗功能就是QQ錢包,可以發紅包,如果我們想要使用qq錢包的功能的話,一般很多時候都要求我們綁定銀行卡的。那麼新版手機QQ怎麼綁定和解除銀行
ViewPager實現圖片輪播
圖片輪播幾乎是每個APP都會用到的功能,在這篇文章我用ViewPager實現一下這個功能。先看一下最後的效果支持左右兩邊圖片輪流滑動,並且兩秒自動滑動首先看布局文件
Android內存洩漏查找和解決
一.內存洩漏概念1.什麼是內存洩漏?用動態存儲分配函數動態開辟的空間,在使用完畢後未釋放,結果導致一直占據該內存單元。直到程序結束。即所謂的內存洩漏。其實說白了就是該內存
Android4.4 ContentResolver查詢圖片無效 及 圖庫刪除 增加圖片後,ContentResolver不更新的問題解決
問題背景: 參考鏈接 做了一個圖片浏覽,用ContentResolver