Android中怎么使用照相机
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"Android中怎么使用照相机"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"A
千家信息网最后更新 2026年11月01日Android中怎么使用照相机
这篇"Android中怎么使用照相机"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Android中怎么使用照相机"文章吧。
Android 照相机的实例应用
SurfaceHolder.Callback
public class MyCameraDemo extends Activity { private SurfaceView surface = null ; private Button but = null ; private SurfaceHolder holder = null ; private Camera cam = null ; private boolean previewRunning = true ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.but = (Button) super.findViewById(R.id.but) ; this.surface = (SurfaceView) super.findViewById(R.id.surface) ; this.holder = this.surface.getHolder() ; this.holder.addCallback(new MySurfaceViewCallback()) ; //设置缓冲类型 this.holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS) ; //设置分辨率 this.holder.setFixedSize(600, 350); this.but.setOnClickListener(new OnClickListenerImpl()) ; } private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View v) { if(MyCameraDemo.this.cam != null) { //自动对焦 MyCameraDemo.this.cam.autoFocus(new AutoFocusCallbackImpl()) ; } } } private class MySurfaceViewCallback implements SurfaceHolder.Callback { //当预览界面格式大小改变时,调用 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } //初次实例化界面调用 public void surfaceCreated(SurfaceHolder holder) { MyCameraDemo.this.cam = Camera.open(0) ; // 取得第一个摄像头 //窗口服务 WindowManager manager = (WindowManager) MyCameraDemo.this .getSystemService(Context.WINDOW_SERVICE); //取得display显示对象 Display display = manager.getDefaultDisplay() ; //照相机参数 Parameters param = MyCameraDemo.this.cam.getParameters() ; //将照相机预览大小设置为display大小 param.setPreviewSize(display.getWidth(), display.getHeight()) ; param.setPreviewFrameRate(5) ; // 一秒5帧 param.setPictureFormat(PixelFormat.JPEG) ; // 图片形式 param.set("jpen-quality", 80) ;//图片质量,最高100 MyCameraDemo.this.cam.setParameters(param) ; try { MyCameraDemo.this.cam.setPreviewDisplay(MyCameraDemo.this.holder) ; } catch (IOException e) { } MyCameraDemo.this.cam.startPreview() ; // 进行预览 MyCameraDemo.this.previewRunning = true ; // 已经开始预览 } @Override public void surfaceDestroyed(SurfaceHolder holder) { if(MyCameraDemo.this.cam != null) { if(MyCameraDemo.this.previewRunning) { MyCameraDemo.this.cam.stopPreview() ; // 停止预览 MyCameraDemo.this.previewRunning = false ; } MyCameraDemo.this.cam.release() ; } } } private class AutoFocusCallbackImpl implements AutoFocusCallback { @Override public void onAutoFocus(boolean success, Camera camera) { if(success) { // 成功 MyCameraDemo.this.cam.takePicture(sc, pc, jpgcall) ; } } } private PictureCallback jpgcall = new PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { // 保存图片的操作 Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length); String fileName = Environment.getExternalStorageDirectory() .toString() + File.separator + "mldnphoto" + File.separator + "MLDN_" + System.currentTimeMillis() + ".jpg"; File file = new File(fileName) ; if (!file.getParentFile().exists()) { file.getParentFile().mkdirs() ; // 创建文件夹 } try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)) ; bmp.compress(Bitmap.CompressFormat.JPEG, 80, bos) ; // 向缓冲区之中压缩图片 bos.flush() ; bos.close() ; Toast.makeText(MyCameraDemo.this, "拍照成功,照片已保存在" + fileName + "文件之中!", Toast.LENGTH_SHORT) .show(); } catch (Exception e) { Toast.makeText(MyCameraDemo.this, "拍照失败!", Toast.LENGTH_SHORT) .show(); } MyCameraDemo.this.cam.stopPreview() ; MyCameraDemo.this.cam.startPreview() ; } } ; private ShutterCallback sc = new ShutterCallback(){ @Override public void onShutter() { // 按下快门之后进行的操作 } } ; private PictureCallback pc = new PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { } } ; }主布局函数
以上就是关于"Android中怎么使用照相机"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
照相机
照相
内容
图片
大小
成功
之中
实例
文件
文章
界面
知识
篇文章
缓冲
最高
价值
函数
分辨率
参数
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海喔噻互联网科技有限公司
云信互联网科技有限公司
没上市的科技互联网公司
互联网科技金融
云电互联网科技
互联网科技宣传片
互联网科技咨询
科技类的互联网平台
镁科技互联网资讯平台
中正互联网科技招聘
科技互联网的估值
互联网科技商业
群盈汇互联网科技有限公司
互联网科技股为什么大涨
昆明中奇联合互联网科技
陕西九四连强互联网科技有限公司
上海万顺科技互联网有限公司招聘
美国五大互联网科技公司市值多少
互联网科技大佬云集
互联网 科技节活动 微视频大赛
互联网金融科技
互联网科技公司起名
互联网科技工作委员会主任
中国互联网科技工作委员会毛军
盈实互联网科技
成都铂石互联网科技做什么的
互联网新科技动漫ppt素材
伍佰万互联网科技怎么赚钱
互联网与数字科技关系
宁波允成互联网科技有限公司