本文章主要介绍拍完照片后对图片的渲染进行处理

可以对拍出的照片进行选择不同的滤镜,令在图片上附有编辑框,供大家对图片进行描述,这是一个可以手动拖动的编辑框,在这里主要介绍下,手指放到控件上什么情况下视为点击,这里就牵涉到一个问题,点击是需要弹出软键盘的,拖动则不应该有软键盘弹出,然而在拖动的过程中还需屏蔽掉因为长按导致的弹出系统的输入法的弹框,当点击后弹出软键盘,再进行拖动操作,软键盘因立即消失;还有当为图片设置不同的滤镜时,这牵扯到控件重绘的问题,这样就会导致原先拖动的编辑框,经过设置滤镜后又回到了原位的问题,这些情况在这里都是一一得到解答:

这是手势离开后的代码:

if (rangeDifferenceX > 0 && rangeDifferenceX <= mDistance) {
if (rangeDifferenceY >= 0 && rangeDifferenceY <= mDistance) {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
//Log.d("是否是点击事件:", true + "");

//mChangedListener.openKeyboard();
} else {
if (rangeDifferenceY <= 0 && rangeDifferenceY >= -mDistance) {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
//Log.d("是否是点击事件:", true + "");

//mChangedListener.openKeyboard();
} else {
v.setFocusable(false);
v.setFocusableInTouchMode(false);
//Log.d("是否是点击事件:", false + "");
}
}
} else {
if (rangeDifferenceX <= 0 && rangeDifferenceX >= -mDistance) {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
//Log.d("是否是点击事件:", true + "");

//mChangedListener.openKeyboard();
} else {
v.setFocusable(false);
v.setFocusableInTouchMode(false);
//Log.d("是否是点击事件:", false + "");
}
}

这是屏蔽掉系统的输入法弹框的代码:edittext.setLongClickable(false);

这是处理重绘导致的控件回到原位的代码:

先记录控件操作的最后位置坐标:setTblr(t, b, l, r);

具体方法:

private void setTblr(int t, int b, int l, int r) {
eTop = t;
eBottom = b;
eLeft = l;
eRight = r;
}

@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);
if (changed) {

if (eLeft == -1 || eTop == -1 || eRight == -1 || eBottom == -1) {
return;
}

layout(eLeft, eTop, eRight, eBottom);

}

具体功能详见效果图:

现提供demo下载地址:

http://download.csdn.net/detail/hongbingfans/6216703

拍照图片滤镜sample的更多相关文章

  1. Android Camera开发系列(上)——Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片

    Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 最近也是在搞个破相机,兼容性那叫一个不忍直视啊,于是自己翻阅了一些基本的资料,自己实现了一 ...

  2. 利用 AFN 上传相册或拍照图片

    概述 自定义上传图片请求,自定义调取相册及拍照,方便多处使用时调用. 详细 代码下载:http://www.demodashi.com/demo/10718.html 由于项目中多处需要上传图片,我们 ...

  3. android选择图片或拍照图片上传到服务器(包括上传参数)

    From:http://blog.csdn.net/springsky_/article/details/8213898具体上传代码: 1.选择图片和上传界面,包括上传完成和异常的回调监听 [java ...

  4. filter 图片滤镜的各种设置

    filter 图片滤镜 给当前元素加滤镜_改变它的明亮度 定义:filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度).作用在图片上或元素上.div{ },或 d ...

  5. Android 实例解说加入本地图片和调用系统拍照图片

    在项目的开发过程我们离不开图片.而有时候须要调用本地的图片,有时候须要调用拍照图片.同一时候实现拍照的方法有两种,一种是调用系统拍照功能.还有一种是自己定义拍照功能. 而本博文眼下仅仅解说第一种方法, ...

  6. HTML5----CSS3图片滤镜(filter)特效

    支持Chrome: 暂不支持浏览器:FF,IE... 希望后者努力 效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFteXM=/font/5a ...

  7. android选择图片或拍照图片上传到server(包含上传參数)

    在9ria论坛看到的.还没測试,先Mark与大家分享一下. 近期要搞一个项目,须要上传相冊和拍照的图片.不负所望,最终完毕了! 只是须要说明一下,事实上网上非常多教程拍照的图片.都是缩略图不是非常清晰 ...

  8. android全功能音乐播放器、基于MVP-Clean + Weex + RxJava2 + Retrofit + Dagger2 + MTRVA的综合应用、图片滤镜处理等源码

    Android仿微信朋友圈查看图片下拽返回. Android图片滤镜处理,相机滤镜处理效果源码 Android自定义View源码:一个水平的进度条 基于MVP-Clean + Weex + RxJav ...

  9. Android 图片滤镜工具——高斯模糊

    ===================高斯模糊========================= 创建一个 ImageFilter 类(滤镜工具),代码如下: import android.graph ...

随机推荐

  1. OpenBlas编译方法(体验msys下使用MingW)

    OpenBlas是一个优化的Blas库,基于GotoBlas21.13 BSD版,安装步骤如下: Windows下安装: 1. 在SourgeForge下载最新的OpenBlas库:http://so ...

  2. docker学习笔记:修改无法启动的容器中的内容

    我们可能会碰到这样的一个问题,在容器执行过程中,修改了容器的内容(如配置文件信息),但因为修改出了问题.导致容器关闭后,无法启动. 这事需要重新修改配置文件. 正常情况下可以通过 docker exe ...

  3. JSpider是一个用Java实现的WebSpider

    JSpider是一个用Java实现的WebSpider,JSpider的执行格式如下: jspider [URL] [ConfigName] URL一定要加上协议名称,如:http://,否则会报错. ...

  4. 3DShader之投影贴图(Projective Texturing)

    相信大家都应该玩过CS或者CF吧,游戏里面有个喷图功能,就是按一个T键就能在墙上或者地板上喷出自己预先设定的图案. 而刚好这就是我们这个Shader所需实现的内容.由于没有潜伏者的贴图,我只有从这个图 ...

  5. UVA 10041 (13.08.25)

     Problem C: Vito's family  Background The world-known gangster Vito Deadstone is moving to New York. ...

  6. hdu1248

    Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡 ...

  7. Jsp分页实例---真分页

    网页的分页功能的实现比较简单,实现方法也多种多样. 今天总结一个简单的Jsp真分页实例. 首先,提到分页就要先明确一个概念,何为真分页何谓假分页. 假分页:一次性从数据库读出表的所有数据一次性的返回给 ...

  8. Python 第五篇(上):算法、自定义模块、系统标准模块(time 、datetime 、random 、OS 、sys 、hashlib 、json和pickle)

    一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应 ...

  9. 用css实现列表菜单的效果

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. iOS设置textfield为密码框

    self.passWordTextField.secureTextEntry = YES;