LOMO特效
public class LomoFilter {
public static Bitmap filter(Bitmap bitmap){
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int dst[] = new int[width*height];
bitmap.getPixels(dst, 0, width, 0, 0, width, height);
int ratio = width > height ? height*32768/width : width*32768/height;
int cx = width >> 1;
int cy = height >> 1;
int max = cx * cx + cy * cy;
int min = (int) (max * (1 - 0.8f));
int diff = max - min;
int ri, gi, bi;
int dx, dy, distSq, v;
int R, G, B;
int value;
int pos, pixColor;
int newR, newG, newB;
for(int y=0; y<height; y++){
for(int x=0; x<width; x++){
pos = y*width + x;
pixColor = dst[pos];
R = Color.red(pixColor);
G = Color.green(pixColor);
B = Color.blue(pixColor);
value = R<128 ? R : 256-R;
newR = (value*value*value)/64/256;
newR = (R<128 ? newR : 255-newR);
value = G<128 ? G : 256-G;
newG = (value*value)/128;
newG = (G<128 ? newG : 255-newG);
newB = B/2 + 0x25;
//==========邊緣黑暗==============//
dx = cx - x;
dy = cy - y;
if (width > height)
dx = (dx * ratio) >> 15;
else
dy = (dy * ratio) >> 15;
distSq = dx * dx + dy * dy;
if (distSq > min){
v = ((max - distSq) << 8) / diff;
v *= v;
ri = (int)(newR * v) >> 16;
gi = (int)(newG * v) >> 16;
bi = (int)(newB * v) >> 16;
newR = ri > 255 ? 255 : (ri < 0 ? 0 : ri);
newG = gi > 255 ? 255 : (gi < 0 ? 0 : gi);
newB = bi > 255 ? 255 : (bi < 0 ? 0 : bi);
}
//==========邊緣黑暗end==============//
dst[pos] = Color.rgb(newR, newG, newB);
}
}
Bitmap acrossFlushBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
acrossFlushBitmap.setPixels(dst, 0, width, 0, 0, width, height);
return acrossFlushBitmap;
}
}
安卓上實現LOMO特效的程式碼 相關文章
- 淘寶特效特效
- Jquery特效jQuery特效
- 粒子類特效SDK,電影級的逼真特效特效
- 導航特效特效
- 前端特效列表前端特效
- 網頁特效網頁特效
- KenBurns特效元件KenBurnsView特效元件View
- iOS 動畫特效(swift)iOS動畫特效Swift
- 水波紋特效—Ripple特效
- 特效--多采樣特效
- 慢性咽炎特效方特效
- 網頁特效(二)網頁特效
- 網頁特效(一)網頁特效
- 網頁特效(四)網頁特效
- 網頁特效(三)網頁特效
- 【轉載】RenderTransform特效ORM特效
- 影像處理--影像特效特效
- canvas動畫特效 之 星空Canvas動畫特效
- Javascript特效實戰pdfJavaScript特效
- 前端炫酷特效合集前端特效
- Javascript特效開發(二)JavaScript特效
- 好的特效的文章特效
- 背部痘痘特效去除法特效
- ubuntu 11.10 3D桌面特效及其視窗特效設定Ubuntu3D特效
- 用canvas實現流星特效Canvas特效
- JQuery3:動畫和特效jQuery動畫特效
- CSS實現開關特效CSS特效
- Ubuntu 完全關閉桌面特效Ubuntu特效
- 【CSS】圖片動畫特效(相框)CSS動畫特效
- js網頁特效(四)事件JS網頁特效事件
- android Toast五種特效AndroidAST特效
- 圖片處理--羽化特效特效
- HTML5 SVG 特效示例HTMLSVG特效
- 網頁特效夢工廠 XP 2.0網頁特效
- jquery網頁特效地址收藏jQuery網頁特效
- 網頁特效大公開(轉)網頁特效
- win10 顯示卡特效怎麼關 怎麼關閉win10特效Win10特效
- 前端動畫專題(一):字型特效前端動畫特效