android開發——camera類拍照指定圖片大小,

來源:互聯網
上載者:User

android開發——camera類拍照指定圖片大小,
android拍照開發

android開發實現拍照功能主要有兩種方法:

  • 直接調用系統照相機API實現拍照,拍完後,圖片會儲存在相簿中,返回儲存照片的路徑,從而擷取圖片。
  • 自己寫SurfaceView調用camera來實現拍照,該方法觸發一個回調,參數中包含一個圖片位元組數組,從而擷取圖片。

問題
當我們自訂相機時,需求需要指定拍照圖片大小,然而不同手機會預設返回不同解析度照片。所以需要對camera進行參數設定。通過設定setPictureSize,代碼:

// 獲得相機參數Camera.Parameters parameters = camera.getParameters();parameters.setPictureSize((480, 360);

結果在P8上,直接運行停止。

方案:
所以不能在camera裡給他固定一個特定解析度大小。Camera.Parameters類的方法getSupportedPictureSizes(),該方法返回一個List,包含所有支援的尺寸。根據取到的值,自己算出最適合自己的尺寸。

List<Size> list = parameters.getSupportedPictureSizes();    Camera.Size size = list.get(0);    parameters.setPictureSize(size.width, size.height);    camera.setParameters(parameters);

我這裡是取list裡的第一個,解析度大小為最小。如果取最大,測試發現拍照速度太慢。
getSupportedPictureSizes()返回的集合是排序的,但升序還是降序,也是根據手機來返回的,所以在處理的時候,不能盲目取第一個元素。大家也可以去中間值等等。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.