版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于android平臺的相機調(diào)用的研究與應用申洪健,肖凱山東建筑大學左岸團隊濟南252301摘要Google于2007年11月5日宣布的基于Linux平臺的android系統(tǒng)-----首個為移動終端打造的真正開放和完整的移動軟件。Android出身豪門,并以其完美的開放性獲得了眾多開發(fā)人員的青睞。在多媒體應用非常普及的今天,很多應用軟件需要完成對手機內(nèi)置相機的調(diào)用來實現(xiàn)軟件的功能,在我們的左岸易記個人記賬軟件的儲蓄罐模塊中也需要實現(xiàn)調(diào)用手機內(nèi)置攝像頭的功能,本文正是在我們開發(fā)軟件的基礎上,對于android開發(fā)平臺上對相機調(diào)用的一些認識和見解。內(nèi)容主要有相機的調(diào)用、預覽設置、圖片設置及傳輸,并附上源碼以供參考。關鍵詞android;camera正文android平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成。它采用軟件堆層的架構,主要分為三部分。底層以Linux內(nèi)核工作為基礎,由C語言開發(fā),只提供基本功能;中間層包括函數(shù)庫Library和虛擬機VirtualMachine,由C++開發(fā)。最上層是各種應用軟件,包括通話程序,短信程序等,應用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。android提供了操作攝像頭的API,可以通過兩種做法來使用:通過Intent直接調(diào)用系統(tǒng)提供的照相機功能,復用它的拍照Activity,這是最簡單和最方便的辦法,因為你不需要考慮手機的兼容性問題,比如預覽拍照圖片大小等;Intentintent=newIntent();Intent.setAction(“android.media.action.STILL_IMAGE_CAMERA”);startActivity(intent);默認情況下,如果在intent中不做設置,也就是不寫這部分:intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(newFile(Environment.getExternalStorageDirectory(),"camera.jpg")));那么當從照相機Activity返回的時候,會帶一個名為data的Bitmap對象。是照片的縮略圖(這也是為什么有些照片會比較小的原因)。如果寫上面的代碼,則不會返回名為data的對象。但是會按照指定的路徑保存原始圖片。直接調(diào)用攝像頭的API,自己編寫類似取景框的Activity,這樣靈活度更大,缺點是你需要考慮比較底層的東西。要知道android有多個版本,攝像頭的分辨率也不一樣,需要先獲取當前相機的分辨率組合,然后再編寫各種屏幕分辨率組合的布局。以下是具體的代碼解析:importjava.io.IOException;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.PixelFormat;importandroid.hardware.Camera;importandroid.hardware.Camera.AutoFocusCallback;importandroid.hardware.Camera.PictureCallback;importandroid.os.Bundle;importandroid.view.KeyEvent;importandroid.view.MotionEvent;importandroid.view.SurfaceHolder;importandroid.view.SurfaceView;importandroid.view.Window;importandroid.view.ViewGroup.LayoutParams;importandroid.widget.ImageView;importandroid.widget.ImageView.ScaleType;publicclassCameraPreviewextendsActivity{ privatePreviewpreview; privateImageViewivFocus; publicvoidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); preview=newPreview(this); setContentView(preview); ivFocus=newImageView(this); } publicbooleanonTouchEvent(MotionEventevent) { if(event.getAction()==MotionEvent.ACTION_DOWN) preview.takePicture(); returnsuper.onTouchEvent(event); } publicbooleanonKeyDown(intkeyCode,KeyEventevent) { if(keyCode==KeyEvent.KEYCODE_DPAD_CENTER) { //開始拍照 camera.startPreview(); //準備用于表示對焦狀態(tài)的圖像(對焦符號) ivFocus.setImageResource(R.drawable.icon); LayoutParamslayoutParams=newLayoutParams( LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); ivFocus.setScaleType(ScaleType.CENTER); addContentView(ivFocus,layoutParams); ivFocus.setVisibility(VISIBLE); //自動對焦 camera.autoFocus(newAutoFocusCallback() { publicvoidonAutoFocus(booleansuccess,Cameracamera) { if(success) { //對焦成功,改變狀態(tài)圖像 ivFocus.setImageResource(R.drawable.camera); } } }); } catch(Exceptione) { } } //停止拍照,并將拍攝的照片傳入PictureCallback接口的onPictureTaken方法 publicvoidtakePicture() { if(camera!=null) { camera.takePicture(null,null,pictureCallback); } } }}以上便是我們對于AndroidcameraAPI的一些淺顯理解,希望能對大家開發(fā)Android應用程序的過程有所幫助,并懇請大家提出改進或分享一些相關的Android開發(fā)經(jīng)驗參考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年研發(fā)合作合同(共享成果)
- 2025版?zhèn)€人房產(chǎn)買賣合同示范協(xié)議4篇
- 2025年食品飲料品牌獨家代理銷售合同范本6篇
- 二零二五版1209兩人合伙成立網(wǎng)絡直播平臺合作協(xié)議3篇
- 個人獨資企業(yè)股權變更協(xié)議模板一
- 2025年度物流倉儲設施租賃合同范本12篇
- 個性化翻譯合作合同(2024年版)一
- 教育信息化背景下的研究探索與挑戰(zhàn)
- 智慧教育背景下的數(shù)學競賽輔導方法探討
- 2025年度個人貸款合同擔保期限及續(xù)約規(guī)定3篇
- 餐廚垃圾收運安全操作規(guī)范
- 皮膚內(nèi)科過敏反應病例分析
- 電影《獅子王》的視聽語言解析
- 妊娠合并低鉀血癥護理查房
- 煤礦反三違培訓課件
- 向流程設計要效率
- 2024年中國航空發(fā)動機集團招聘筆試參考題庫含答案解析
- 當代中外公司治理典型案例剖析(中科院研究生課件)
- 動力管道設計手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
評論
0/150
提交評論