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;
    }

  • 相关阅读:
    tableviewCell折叠状态1
    iOS中--NSArray调用方法详解 (李洪强)
    NSNumber的使用
    Fedora13下编译busybox-1.15.0出现can not find lcrypt错误
    【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势
    JAVA序列化的作用
    我买网B轮融资成功,五周年豪掷千万回馈会员
    一步步教你搭建TinyOS2.1.2开发环境
    POJ2947 DAZE [Gauss]
    慢慢理解RESTful架构
  • 原文地址:https://www.cnblogs.com/clarence/p/3837472.html
Copyright © 2011-2022 走看看