为了账号安全,请及时绑定邮箱和手机立即绑定

Android摄像头基础

eclipse_xu 移动开发工程师
难度高级
时长 1小时23分
学习人数
综合评分9.70
67人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.5 逻辑清晰
sd卡上有图片但是就是手机上不显示,真机测试,已经添加写权限
真羡慕老师

最新回答 / yanglizi
Genymotion没有实际的摄像头,拍出来就是黑色的,上面一个小图标,你可以用夜神什么的
大华同学的是错的,中间不是Intent 而是 media
老师的这种方法在4.4上测试是有效的,但是我在android7.0上就会报错
android.os.FileUriExposedException: file:///storage/emulated/0/IMGSun%20Mar%2019%2022%3A24%3A27%20GMT%2B08%3A00%202017.png exposed beyond app through ClipData.Item.getUri()

最赞回答 / MyBilly
Environment.getExternalStorageDirectory().getPath()改成Environment.getRootDirectory().getPath()intent.putExtra第二参数是uri,不是传递file!无语,你得有多粗心啊。。。

最新回答 / qq_乾坤_3
http://www.imooc.com/search/course?words=android%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86
Camera.Size pictureSize = supportedPictureSizes.get(0);从这个list中取0是不严谨的,需要自己获取屏幕的宽度,然后遍历这个list,如果没有你的屏幕宽度,就取中间值,拿到下标index这样在supportedPictureSizes.get(index);这样是比较严谨的做法
得到的图片是压缩的,是因为自定义相机拍出来的图片很少,需要在设置几个参数如下
List<Camera.Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
Camera.Size pictureSize = supportedPictureSizes.get(0);
parameters.setPreviewSize(pictureSize .width, pictureSize .height);
mCamera.setParameters(parameters);
这是设置照片的大小,预览大小也可以如此
源码:http://blog.csdn.net/chenzheng8975/article/details/53943775
parameter是获取camera属性值进行修改的
添加水印,在拍摄完的照片后,使用Paint类进行处理则可
课程须知
本门课程为Android中级课程,需要小伙伴们有一定的Android基础知识,当中涉及Intent,SurfaveView等内容。
老师告诉你能学到什么?
1.Android系统相机的调用(Intent) 2.自定义Android相机 3.学习自定义控件的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消