图片怀旧效果处理

来源:互联网 发布:java war文件运行 编辑:程序博客网 时间:2024/04/27 12:34
/**      * 怀旧效果(相对之前做了优化快一倍)      * @param bmp      * @return      */      private Bitmap oldRemeber(Bitmap bmp)      {          // 速度测试          long start = System.currentTimeMillis();          int width = bmp.getWidth();          int height = bmp.getHeight();          Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);          int pixColor = 0;          int pixR = 0;          int pixG = 0;          int pixB = 0;          int newR = 0;          int newG = 0;          int newB = 0;          int[] pixels = new int[width * height];          bmp.getPixels(pixels, 0, width, 0, 0, width, height);          for (int i = 0; i < height; i++)          {              for (int k = 0; k < width; k++)              {                  pixColor = pixels[width * i + k];                  pixR = Color.red(pixColor);                  pixG = Color.green(pixColor);                  pixB = Color.blue(pixColor);                  newR = (int) (0.393 * pixR + 0.769 * pixG + 0.189 * pixB);                  newG = (int) (0.349 * pixR + 0.686 * pixG + 0.168 * pixB);                  newB = (int) (0.272 * pixR + 0.534 * pixG + 0.131 * pixB);                  int newColor = Color.argb(255, newR > 255 ? 255 : newR, newG > 255 ? 255 : newG, newB > 255 ? 255 : newB);                  pixels[width * i + k] = newColor;              }          }                    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);          long end = System.currentTimeMillis();          Log.d("may", "used time="+(end - start));          return bitmap;      }  

0 0
原创粉丝点击