在项目中,为了避免使用图片出现的内存溢出问题,使用 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;
}
});