WebView+ColorMatrix实现图片颜色的渐变处理,例如老照片的效果。
2014-08-26 13:49
645 查看
在项目中,为了避免使用图片出现的内存溢出问题,使用 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;
}
});
主要代码如下:
主要实现的是老照片效果,具体功能可参考: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;
}
});
相关文章推荐
- 两种修改png图片颜色方法的对比/游戏帧速度处理/J2me中实现淡入淡出效果
- 使用TtransitionDrawable来实现图片颜色渐变过渡或者实现button的背景颜色渐变,很漂亮的效果
- JS交互 点击WKWebView中的图片实现预览效果
- JS交互点击WKWebView中的图片实现预览效果
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- ios通过SDWebImage实现图片加载时的渐变效果
- webView图片点击可以实现预览效果
- Android Textview实现颜色渐变滚动效果
- UnityEditor中建立两个Color,实现mesh的颜色渐变(Gradient)(GUI.changed,SceneView.RepaintAll())
- 安卓中自定义view控件代替radiogroup实现颜色渐变效果的写法
- jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
- Android webview实现上传图片的效果(图片压缩)
- Android Textview实现文字颜色渐变效果
- Android学习之实现WebView中input="file"选择文件,处理选择图片无法返回类型问题
- Android Textview实现文字颜色渐变效果
- Android点击WebView实现图片缩放及滑动浏览效果
- Android实现图文混排(2) 通过webview实现 并实现点击 图片处理事件
- 使用sdWebImage实现对tableView的cell加载图片淡入淡出效果
- Android webview实现上传图片的效果(图片压缩)