zoukankan      html  css  js  c++  java
  • LOMO效果

    //LOMO效果
    public static Bitmap changeToLomo(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;
    }

  • 相关阅读:
    高德地图SDK大致使用
    AFNetworking 使用
    蓝牙相关
    svn 常用命令
    通过AutoLayout显示三个等宽视图
    适配相关 --AutoLayout ---SizeClass
    常用网页
    UIViewController加载过程
    UIApplication相关
    实现消息转发功能(调用非自己类方法)
  • 原文地址:https://www.cnblogs.com/clarence/p/3837472.html
Copyright © 2011-2022 走看看