WebView+ColorMatrix实现图片颜色的渐变处理,例如老照片的效果。

在项目中,为了避免使用图片出现的内存溢出问题,使用 WebView显示图片的url地址,但是项目还要求可以改变其图片的颜色,故而实现了一个WebView显示图片,一个SeekBar改变图片的颜色。

主要代码如下:

主要实现的是老照片效果,具体功能可参考:http://www.cnblogs.com/leon19870907/articles/1978065.html



wvEResult = (WebView) findViewById(R.id.wvResult);// 结果图片
wvEResult .getSettings().setSupportZoom(true); // 设置可以支持缩放
wvEResult .getSettings().setBuiltInZoomControls(true);// 设置出现缩放工具
wvEResult .getSettings().setUseWideViewPort(true);// 扩大比例的缩放

seekBarImage = (SeekBar) findViewById(R.id.seekBarImage);
seekBarImage.setProgress(50);


seekBarImage.setOnTouchListener(new View.OnTouchListener() {
@Override

          public boolean onTouch(View v, MotionEvent event) {

          int value = seekBarImage.getProgress();
          ColorMatrix colorMatrix = new ColorMatrix();//颜色渐变
          float per = ((float) value) / 100.0f;
          colorMatrix = new ColorMatrix(new float[] { per, per, per,
          0.0f, 0.0f, per, per, per, 0.0f, 0.0f, per, per,
          per, 0.0f, 0.0f, 0, 0, 0, 1.0f, 0.0f });
          Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
          mPaint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));

          wvEResult .setLayerType(View.LAYER_TYPE_SOFTWARE, mPaint);//webview中提供的方法
       return false;
    }
});



你可能感兴趣的:(android)