Android開發獲取相機拍照的原圖(並非縮圖)
Android開發拍照上傳是個很常見的功能,通過如下程式碼可以啟用相機進行拍照:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, PHOTO_REQUEST_CAREMA);
通過下邊的程式碼獲取相機返回的照片資料:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_CAREMA) {
if (null != data) {
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機返回的資料,並轉換為Bitmap圖片格式
但是遺憾的是因為照片實在是太大了,為了在activity之間傳遞bitmap資料,不得不對照片進行壓縮後再傳遞,因此通過onActivityResult方法的intent引數獲取的照片,實際上是個縮圖。
大部分時候縮圖的清晰度是不能夠滿足要求的,所以要自己制定相機拍照檔案的儲存位置
使用如下的方式啟用系統相機、
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
Uri imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),PICTURE_FILE));
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_CAREMA
startActivityForResult(intent, PHOTO_REQUEST_CAREMA);
其中兩個常量設定如下:
public static final int PHOTO_REQUEST_CAREMA=2016;
public static final String PICTURE_FILE="temp.jpg";
這樣每次呼叫相機拍照都會在sd卡根目錄生成名為temp.jpg的圖片,每次拍照都會覆蓋舊的檔案。這樣的話就不能通過onActivityResult方法的intent引數獲取照片資料,可以直接讀取檔案
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_CAREMA) {
File f=new File(Environment.getExternalStorageDirectory()
+"/"+PICTURE_FILE);
...
這樣直接獲取到的檔案是高清原圖,壓縮後可以做各種處理
因為要讀寫sd卡,所以要新增相應許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
相關文章
- android開啟系統相機分別獲得原圖和縮圖Android
- 微信小程式開發之從相簿獲取圖片 使用相機拍照 本地圖片上傳微信小程式地圖
- Android 高仿微信 獲取最近剛剛拍照的縮圖 功能實現Android
- Android學習之呼叫系統相機拍照、截圖並儲存Android
- Android 從手機相簿獲取圖片 uri 路徑 從相機獲取照片Android
- Android中使用封裝的OKHttp上傳圖片,從相機和相簿中獲取圖片並剪下Android封裝HTTP
- 仿微信圖片選取、相機拍照—PhotoPicker(已整合GalleryView)View
- Android 拍照、選擇圖片並裁剪Android
- android短視訊開發,呼叫相機、相簿,壓縮圖片後上傳Android
- Android百度地圖開發實現點選地圖新增Marker並獲取地址資訊Android地圖
- 微信小程式開發-canves 圖片壓縮 獲取base64微信小程式
- Android 呼叫系統相機拍照 . 選取本地相簿Android
- iOS開發 獲取圖片中的顏色iOS
- Qt基礎——獲取QGraphicsScene的縮圖即匯出到圖片QTCSS
- 直播平臺搭建,Android手機拍照和手機相簿選取圖片的工具Android
- Android使用者請注意,你的相機正在偷偷開啟並拍照攝像Android
- 獲取本地圖片或拍照,進行頭像圖片的上傳的工具類地圖
- 直播app開發搭建,ios 獲取手機中所有圖片APPiOS
- Android 從本地選取圖片或者拍照填充ImageViewAndroidView
- 【API】隨機獲取圖片API隨機
- Android 視訊縮圖的快取機制和非同步載入Android快取非同步
- Excel 讀取圖片並獲取儲存路徑Excel
- 利用API獲取金融資料並畫圖API
- asp 獲取圖片的 大小 和畫素 ,解析度,以及壓縮圖片
- 直播app開發搭建,Android studio 圖片壓縮APPAndroid
- android7.0以上呼叫系統相機拍照並顯示到ImageView上AndroidView
- iOS開發中壓縮圖片的質量以及縮小圖片尺寸iOS
- Android使用VideoView播放網路視訊,獲取網路視訊縮圖AndroidIDEView
- Android呼叫系統相簿和相機拍照Android
- android--相機開發----我的相機我做主Android
- Arcgis For Android 中MapView 截圖獲取BitmapAndroidView
- Android 呼叫相簿 拍照 實現系統控制元件縮放 切割圖片Android控制元件
- Android獲取當前Activity的螢幕截圖Android
- Android 開發:使用繪製基金圖表類(帶快取的圖表類)Android快取
- 【前端】壓縮圖片以及圖片相關概念前端
- 聊天平臺原始碼,通過MediaStore獲取縮圖模糊原始碼AST
- Android本地圖片上傳(拍照+相簿)Android地圖
- Android 之 遠端圖片獲取和本地快取Android快取