王青苗,孫青秀
(陜西鐵路工程職業(yè)技術(shù)學(xué)院電氣與信息工程系,陜西渭南,714000)
隨著智能手機(jī)的普及以及手機(jī)相機(jī)像素的不斷提高,越來越多的人喜歡用自己的手機(jī)拍照,記錄下比較特殊的時(shí)刻或者取得具有紀(jì)念意義的照片。人們對(duì)手機(jī)相機(jī)的要求越來越高,目前市場(chǎng)上流行的手機(jī)拍照軟件較多,層次不一,方便了習(xí)慣隨時(shí)記錄生活場(chǎng)景的人們。有時(shí)為了抓拍一些比較重要的鏡頭,或者有時(shí)在拍攝一幅景物或人物時(shí),為了從中選出一張比較符合自己要求的,總是希望能多拍幾張,供自己挑選滿意為止。大部分人為了取得這些照片,總是連續(xù)的多按幾下手機(jī)照相機(jī)的拍照按鈕。但是連續(xù)按下拍照按鈕,需要人手不停的晃動(dòng),而且有時(shí)拍的效果也不理想,比較麻煩。為了迎合人們的需求,使得拍照時(shí)能較省力地連續(xù)拍下多張照片,本文設(shè)計(jì)了一款適用于安卓手機(jī)的四連拍相機(jī)軟件,方便使用者在需要進(jìn)行拍照時(shí),只需按一下拍照按鈕,就可以自動(dòng)實(shí)現(xiàn)手機(jī)相機(jī)的四連拍。
本文使用Android Studio3.0搭建安卓開發(fā)環(huán)境[1,2,3,4],使用Java編程[5],開發(fā)相機(jī)的四連拍程序[6,7,8]。本文設(shè)計(jì)的手機(jī)相機(jī)四連程序?qū)崿F(xiàn)以下功能。
(1)能夠?qū)崿F(xiàn)拍照功能;(2)能夠?qū)崿F(xiàn)自動(dòng)對(duì)焦功能;(3)能夠?qū)崿F(xiàn)按一下拍照按鈕,達(dá)到四張照片連續(xù)拍攝功能;(4)能夠保存所拍照片的功能。
拍照實(shí)現(xiàn)流程如圖1所示,當(dāng)按下拍照按鈕時(shí),系統(tǒng)會(huì)按照以下流程來執(zhí)行,實(shí)現(xiàn)四連拍功能。
使用Android Studio3.0軟件建立名為“四連拍”的工程,將app名稱設(shè)置為“四連拍”。
圖1 軟件設(shè)計(jì)流程
(1)在AndroidManifest.xml中進(jìn)行配置,設(shè)置主界面中各控件為線性布局。將相機(jī)畫面設(shè)置為手機(jī)橫屏模式,手機(jī)屏幕一分為二,左半部分用來顯示拍照界面,右半部分設(shè)置拍照按鈕,使得拍照按鈕位于相機(jī)框的右邊。本系統(tǒng)所使用的拍照按鈕為一個(gè)卡通的相機(jī)圖片,在屏幕中設(shè)置整個(gè)Activity左半邊為攝像頭采集區(qū)域,右邊為卡通相機(jī)界面。Activity界面使用(x,y)坐標(biāo)標(biāo)注,即拍照顯示的物體在一定區(qū)域,拍照的按鈕在其余的坐標(biāo)區(qū)域,凡是手指點(diǎn)擊了拍照按鈕所在范圍的區(qū)域后,就可啟動(dòng)相機(jī)實(shí)現(xiàn)拍照,在該文件中取得拍照按鈕的ID。
(2)拍照按鈕圖標(biāo),將在res的drawable里放置卡通圖片作為拍照按鈕,當(dāng)手指點(diǎn)擊該按鈕時(shí),即可啟動(dòng)四連拍程序,即實(shí)現(xiàn)點(diǎn)擊卡通相機(jī)圖片的區(qū)域時(shí)啟動(dòng)拍照。
(3)設(shè)置CameraAty.java為主執(zhí)行程序,在主函數(shù)中設(shè)置拍照按鈕ID對(duì)應(yīng)的OnClick事件處理函數(shù),實(shí)現(xiàn)點(diǎn)擊響應(yīng)。為了要能夠?qū)崿F(xiàn)四連拍,在主函數(shù)一開始設(shè)置變量i=0,使得i<4,系統(tǒng)中使用函數(shù)onAutoFocus()來實(shí)現(xiàn)自動(dòng)聚焦拍照,具體實(shí)現(xiàn)程序如下:
(4)系統(tǒng)界面
在該界面中,設(shè)置拍照界面為橫屏,其中拍照顯示框占界面的一半,另一半放置了拍照軟件圖標(biāo),按下此圖標(biāo),每隔1秒鐘,相機(jī)就會(huì)自動(dòng)連續(xù)拍攝,直到四下拍攝完成,并將照片保存于手機(jī)系統(tǒng)中。
圖2 拍照界面
本文設(shè)計(jì)了一款基于安卓的手機(jī)相機(jī)四連拍軟件,該軟件能實(shí)現(xiàn)拍照過程中的四張連拍功能,界面友好,操作簡(jiǎn)便,可以方便拍照者使用,但與目前市場(chǎng)上流行的其他拍照軟件還有一定差距。
參考文獻(xiàn)
[1]姚尚朗,靳巖.Android 開發(fā)入門與實(shí)戰(zhàn)[M].北京:人民郵電出版社,2013.
[2]明日科技.Android從入門到精髓[M].北京:清華大學(xué)出版社,2012.
[3]歐陽燊.Android Studio開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到App上線[M].北京:清華大學(xué)出版社,2017.
[4]畢小朋.精通Android Studio[M].北京:清華大學(xué)出版社,2016.
[5]高振東,郭濤.基于Java語言的手機(jī)軟件開發(fā)技術(shù)分析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(18):73-74.
[6]周佩.雙前置攝像頭手機(jī)相機(jī)APP的可用性設(shè)計(jì)[D].山東大學(xué),2016.
[7]何璇.基于Java語言的安卓手機(jī)軟件開發(fā)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(08):67-68.
[8]朱思華.基于Java語言的安卓手機(jī)軟件開發(fā)[J].數(shù)字技術(shù)與應(yīng)用,2016(07):169.