android 拍照屏幕大小,Android Camera 找出屏幕的最佳尺寸大小
大家平时都会调用到Camera 这个API,在设置Camera.Paramera的参数的时候,有一个预览大小。也就是:
setPreviewSize(int width, ing height)
这个相机的大小不能随便设置,如果设置了不可接受的值,程序会崩溃掉。
现在给大家提供一个很好用的方法。
private Size getBestSupportedSize(List sizes), int width, int height) {
Size bestSize = sizes.get(0);
int largestArea = bestSize.width * bestSize.height;
for (Size s : sizes) {
int area = s.width * s.height;
if (area > largestArea) {
bestSize = s;
largestArea = area;
}
}
return bestSize;
}
至于这个方法中的几个参数从哪里来的。我们需要在SurfaceHolder的Callback回调方法中来初始化相机的。
holder.addCallback(new SurfaceHolder.Callback(){
...
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = mCamera.getParameters();
Size s = getBestSupportedSize(parameters.getSupportedPreViewSizes(), w, h);
parameters.setPreviewSeze(s.width, s.height);
....
}
});
我们通常拍完照之后还会设置图片的大小,其实也是一样的,Camera.Parameter有一个方法:
getSupportedPictureSizes()
s = getBestSupportedSize(parameters.getSupportedPictureSizes(), w, h);
parameters.setPictureSize(s.width, s.height);
小方法,大技巧。这是在 Android 权威指南这本书上看到的,记录下笔记。
android 拍照屏幕大小,Android Camera 找出屏幕的最佳尺寸大小相关推荐
- 找出数组中第k大小的数,输出数所在的位置
找出数组中第k大小的数,输出数所在的位置 /*写一段程序,找出数组中第k大小的数,输出数所在的位置.例如{2,4,3,4,7}中,第一大的数是7,位置在4. 第二大.第三大的数都是4,位置在1.3随便 ...
- PCB封装设计指导(二)如何阅读Datasheet,找出对应的封装尺寸和信息
PCB封装设计指导(二)如何阅读Datasheet,找出对应的封装尺寸和信息 所有的封装的建立都是根据Datasheet来建立的,脱离了Datasheet的封装是没有可靠性和保障的. 所以如何看懂Da ...
- android拍照功能编程,android实现手机App实现拍照功能示例
实现手机App实现拍照功能结果如下 第一步: activity_takephoto.xml布局用SurfaceView xmlns:tools="http://schemas.android ...
- html5 android 拍照上传,android webview使用html5 上传相册、拍照照片
本人编程新手,这次做的功能是android webview 嵌入HTML5的页面,页面中有一个标签,iOS直接就支持,但android中不支持,网上的帖子说是因为android屏蔽了文件上传功能还是怎 ...
- 项目版本号大小比较,找出最大版本号
项目版本号大小比较 软件版本号格式一般为X.Y.Z( Major.Minor.Patch),X为主版本号,Y为次版本号,Z为修订号.例如:1.12.123. 最近在项目中碰到一个业务:需要从版本数组中 ...
- android 拍照固定区域,android相机区域拍照,快速集成
使用相机拍摄指定区域,自己封装了个工具类,直接使用就可以 代码使用如下 public class MainActivity extends Activity implements OnClickLis ...
- android搜索app下载地址,如何找出APP的URL Scheme
今日壁纸 温馨提示:先看文末总结或先看(3)WEB端 什么是APP URL scheme 玩手机经常会碰到浏览器里提示即将跳转到某APP,或者微信里提醒即将打开某APP,这其中的原理,一般就是通过UR ...
- android 拍照换头像,Android调用相机拍照,裁剪及更换头像功能的实现
1,点击弹出popwindow,选择相机或者相册 这个就不多说了,在OnclickListener里写弹出的窗口位置和样式. 2,选择拍照功能,调用手机相机. ``` //调用相机 Intent in ...
- android拍照截图组件,Android截图命令screencap与视频录制命令screenrecord(示例代码)...
查看帮助命令[email protected] ~$ adb shell screencap -v screencap: invalid option -- v usage: screencap [- ...
最新文章
- 谷歌新智能体Dreamer将亮相NeurIPS 2019,数据效率比前身PlaNet快8个小时
- CentOS软/硬RAID安装方法
- mysql 转成树_mysql整形转换的坑
- 配置虚拟机和网络配置
- 白话Elasticsearch68-ES生产集群部署重要的操作系统设置
- 31模板方法(Template Method)
- 小程序类似抖音视频整屏切换
- 问题:get_params() missing 1 required positional argument: 'self' 之解决
- 2008下mysql补丁_windows Server 2008 R2安装Mysql 8的打补丁顺序
- VUE使用百度地图API实现三维地球
- 【bigmp4.com】AI 视频补帧无损放大工具介绍
- python大神的成长之路普通话三分钟_我的成长之路普通话考试讲话三分钟范文
- selenium结合sikuliX操作Flash网页
- 疯狂Python讲义之变量和简单类型--深入使用字符串笔记4
- 【每天一个Python小知识】用yaml的yaml.safe_load()方法读取配置文件中的参数
- 超导体计算机采用纳米技术研制的计算机,在高温超导体加持下,量子效应的量子计算机,或将迎来重大突破!...
- Java程序设计教程(第三版) 雍俊海 7.3 答案/代码
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用46
- surface linux内核,Surface系列电脑Linux拯救指南
- 微信公众号内置地图开发ios苹果不显示地图