1. 程式人生 > >從相簿選擇圖片回傳

從相簿選擇圖片回傳

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="chenshanshan.baway.com.mclearedittext.MainActivity"
> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="gallery" android:text="獲取相簿圖片" /> <ImageView android:id="@+id/iv_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>




import android.app.Activity;
import
android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import
android.os.Environment;
import
android.provider.MediaStore;
import
android.view.View;
import
android.widget.ImageView;
import android.widget.Toast;
import
java.io.File;
public class
MainActivity extends
Activity {

private static final int
PHOTO_REQUEST_CAREMA = 1;// 拍照private static final int PHOTO_REQUEST_GALLERY = 2;// 從相簿中選擇private static final int PHOTO_REQUEST_CUT = 3;// 結果private ImageView iv_image; /* 頭像名稱 */private static final String PHOTO_FILE_NAME = "temp_photo.jpg";
private File tempFile;

@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

this.iv_image = (ImageView) this.findViewById(R.id.iv_image);


}

/** 從相簿獲取*/
public void
gallery(View view) {

// 啟用系統圖庫,選擇一張圖片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_GALLERYstartActivityForResult(intent, PHOTO_REQUEST_GALLERY);

}

/** 剪下圖片*/private void crop(Uri uri) {
// 裁剪圖片意圖Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
// 裁剪框的比例,1:1intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 250);
intent.putExtra("outputY", 250);
intent.putExtra("outputFormat", "JPEG");
// 圖片格式
intent.putExtra("noFaceDetection", true);
// 取消人臉識別
intent.putExtra("return-data", true);
// 開啟一個帶有返回值的Activity,請求碼為PHOTO_REQUEST_CUTstartActivityForResult(intent, PHOTO_REQUEST_CUT);

}

/*
* 判斷sdcard是否被掛載 */private boolean hasSdcard() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}

}


@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_GALLERY) {
// 從相簿返回的資料if (data != null) {
// 得到圖片的全路徑Uri uri = data.getData();
crop(uri);
}
} else if (requestCode == PHOTO_REQUEST_CAREMA) {
// 從相機返回的資料if (hasSdcard()) {
crop(Uri.fromFile(tempFile));
} else {
Toast.makeText(MainActivity.this, "未找到儲存卡,無法儲存照片!", 0).show();
}
} else if (requestCode == PHOTO_REQUEST_CUT) {
// 從剪下圖片返回的資料if (data != null) {

Bitmap bitmap = data.getParcelableExtra("data");
this.iv_image.setImageBitmap(bitmap);

}

try {
// 將臨時檔案刪除tempFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}

相關推薦

相簿選擇圖片回傳

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt

android相簿選擇圖片和拍照選擇圖片

在android開發中選擇圖片的方式大致可以分類兩種,一種是從手機相簿獲取,另外一種則是通過呼叫手機拍照獲得 手機相簿中獲取,這種方式需要讀取儲存卡的許可權 <uses-permission android:name="android.permission.REA

相簿選擇圖片後儲存到本地

#import <Photos/Photos.h> NSURL *assetURL = info[UIImagePickerControllerReferenceURL]; PHFetchResult *assets = [PHAsset fet

呼叫Android系統攝像頭進行拍照以及相簿選擇圖片

很多時候我們需要呼叫系統攝像頭進行拍照或者從相簿選擇照片,然後對得到的圖片進行一些處理。比如微信設定頭像,就可以選擇呼叫裝置存在攝像頭APP進行拍照,然後對影象進行裁剪,最終設定為頭像。 下面來進行講解。 主要分為以下幾個部分: 1、獲得攝像頭Feature和寫檔案的許

ionic3 實現拍照與相簿選擇功能

參考了很多網上的資料,但是每個人遇到的問題都不一樣,我這裡出現的問題,可能是node版本,還有外掛版本之類的問題,問題以及解決方式可以看這個圖。 一、外掛依賴引入  (1)配置相機 在控制行輸入命令: ionic cordova plugin add cordova-

android拾遺06——相簿選取圖片

從相簿選取圖片 從相簿選取圖片的流程是: 使用startActivityForResult進入相簿選取圖片 使用onActivityResult讀取獲取到的uri 從uri中解析出圖片 程式碼: package com.exe.feifei.choos

Android啟動系統相機,開啟相簿選擇圖片

相機 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //指定拍照後圖片名稱 String photoName = System.currentTimeMillis() + ".jpg"; //設定拍照後圖片存放位置RO

Android生成二維碼--拍照或相簿選取圖片

private void handleImageOnKitKat(Intent data) { String imagePath = null; Uri uri = data.getData(); if (DocumentsContract.isDocumentUri(this, ur

Android拍照和相簿選擇圖片上傳所遇到的一些坑

微信公眾號:IT小頑童 前段時間做拍照和相簿選擇圖片上傳,遇到一些坑,最近閒來沒事,就整理一篇部落格,並寫了個demo,專案中使用純java,這次採用java + kotlin混合,GitHub的地址戳此 1、首先遇到的的是Android7.0的坑 說是坑,有點欲加

HTML5 Plus 拍照或者相簿選擇圖片上傳

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_27626333/article/details/51896616   HBuilder+HTML5 Plus+MUI實現拍照或者相簿選擇圖片上傳,利用HTML5 Plus的Came

拍照上傳,相簿選擇上傳

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link href="css/mui.mi

Android 二維碼生成,掃描,近距離識別優化,相簿選擇二維碼識別

做了一個二維碼掃描圖片,主要是掃描不出來,看到一篇部落格,其中的第二種方法可以掃描到,在此做筆記,以備後用,前面的進入相簿,返回,到獲取圖片路徑方法都一樣; (1):二維碼生成的方法順便貼上: private Bitmap createQRImage(String url, final

android 相簿選取圖片在小米手機報錯的解決辦法

在跳轉到系統相簿選取照片的時候,用如下程式碼跳轉: Intent albumIntent = new Intent(Intent.ACTION_PICK, null); /** * 下面這句話,與其它方式寫

Android開發之呼叫相機拍照與本地相簿選擇圖片

使用者看到的介面如下,也是我的xml介面: demo中有一個按鈕,點選彈出對話方塊提示使用者選擇:拍照、相簿。如下圖: 點選拍照,會開啟手機相機開始拍照,拍攝完後可以裁剪,如下圖: 這時候你可以直接點選確定,也可

Android拍照和相簿獲取圖片(解決android7.0開啟相機崩潰的問題),同時也解決了拍完照後圖片方向不正的問題

再android7.0中相機操作需要動態申請許可權,在點選開啟相機按鈕時要先判斷許可權,沒有許可權要申請,有許可權再操作,同時在申請許可權的回撥方法中也要判斷是否有許可權,有許可權的話再呼叫開啟相機的方法 package test.img.com.myim

Android中相機拍攝照片,以及相簿選擇圖片壓縮上傳(壓縮後儲存進SD中)(可用於修改頭像等)

           這個功能借鑑了多個大神的,然後整合起來。                    Android中相機拍攝照片,以及相簿選擇圖片壓縮上傳(壓縮後儲存進SD中)(可用   於修改頭像等)                       第一步: privat

ionic拍照,相簿選擇功能

在介紹外掛的使用之前,我們有必要先大致瞭解下外掛的原理 一、外掛工作原理分析 一個外掛是如何正確地在IONIC框架下執行的呢? 前臺的HTML/js程式碼又是如何與後面具體平臺做資料互動的呢? 這個就需要對外掛的工作原理及各個模組之間的流程關係有一個基本的瞭解。 為了讓外掛能夠訪問具體平臺系統的程式碼,Cor

Android實現相簿選擇或者直接拍照來設定圓形的頭像CircleImageView

本人第一次寫技術部落格,只是為了對自己平時遇到的一些問題進行一個總結,可以讓以後能更好的翻看學習,也可以讓更多的人借鑑。 廢話不多說,正題開始: 首先先說明如何進行從相簿選擇或者直接拍照來設定頭像,然後在進行圓形頭像的設定。具體的介面效果如下所示:            

Android 呼叫系統相簿選擇圖片並顯示

主要程式碼: package wkk.app2; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; imp

微信小程式-相簿獲取圖片,視訊 使用相機拍照,錄影上傳+伺服器(nodejs版)接收

在本文 微信小程式-從相簿獲取圖片 使用相機拍照 本地圖片上傳之前需要看看 程式碼封裝是在上文新增的。 本文知識點: 1、微信小程式選擇圖片wx.chooseImage()介面的使用 2、