android相冊圖片選擇圖片
❶ Android拍照和選擇相冊圖片上傳為什麼不清晰
壓縮演算法的問題,不知道是你自己寫還是用其他產商的apk,
壓縮過頭了,導致清晰度下降了。
還有就是有些手機拍完照,本身有一定的壓縮處理,所以再進行壓縮就更小了,更模糊了。
這個就是手機要做適配處理。
❷ Android10以上拍照和選擇相冊適配以及向下兼容適配
最近一直被Android10相關的適配搞得焦頭爛額,之前也聽說過android10中的所有的視頻,音頻以及圖片等資源為了統一的管理,統一放在一個共有的文件下,也就是所謂的沙箱。看了一下其他人寫的文章,也提供了一種簡單粗暴的方式也就是在清單文件application下配置#android:requestLegacyExternalStorage="true"#,但如果android11出來又得適配了,android11是禁止除了共有文件夾下新建視頻,音頻以及圖片等文件。不然就會報找不到文件相關的錯誤,好了說到底我們還是得花點時間去適配android10以上的沙箱適配。
進入正題,接下來我們就來適配Android10相關的拍照以及選擇相冊並兼容android10以下的絕大部分的適配。
進入系統相冊的操作都是一樣的這里就不贅述:
主要的還是要對返回的data進行處理,也就是把uri轉換成文件File的路徑path
當然了拍照和點陣圖Bitmap相關的適配是一樣的。
7.0以上Android版本的路徑配置
第一步
@xml/file_camera_paths 文件配置
拍照首先需要申請拍照許可權
申請完後調用camera就可以拍照,拍照主要就是在調用相機的時需要自己去配置文件存儲路徑。
回調處理這里我就不贅述了 主要是對Android10以上關於圖片配置相關的處理
既然關於Android 10那麼我們也講一下關於定位方面的適配,Android10以上需要在清淡文件中添加一個新的定位許可權
❸ Android/如何讀取相冊將選擇的圖動態設置為應用背景
Bitmap bitmap = BitmapFactory.decodeFile(String path);
linearlayout.setBackground(new BitmapDrawable(bitmap));
❹ Android怎麼調用系統相冊將選中的圖片設置為布局的背景,有沒有案例或源碼
Android中調用系統相機來拍攝照片的代碼,如下:
1、首先設置Uri獲取判斷以及相機請求Code
public final int TYPE_TAKE_PHOTO = 1;//Uri獲取類型判斷
public final int CODE_TAKE_PHOTO = 1;//相機RequestCode
2、調起系統相機
Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = getMediaFileUri(TYPE_TAKE_PHOTO);
takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(takeIntent, CODE_TAKE_PHOTO);
3、封裝獲取Uri代碼
public Uri getMediaFileUri(int type){
File mediaStorageDir = new File(Environment.(Environment.DIRECTORY_PICTURES), "相冊名字");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
return null;
}
}
//創建Media File
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
if (type == TYPE_TAKE_PHOTO) {
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
} else {
return null;
}
return Uri.fromFile(mediaFile);
}
4、相機拍照完畢後獲取返回數據,並在頁面顯示照片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CODE_TAKE_PHOTO:
if (resultCode == RESULT_OK) {
if (data != null) {
if (data.hasExtra("data")) {
Log.i("URI", "data is not null");
Bitmap bitmap = data.getParcelableExtra("data");
imageView.setImageBitmap(bitmap);//imageView即為當前頁面需要展示照片的控制項,可替換
}
} else {
Log.i("URI", "Data is null");
Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath());
imageView.setImageBitmap(bitmap);//imageView即為當前頁面需要展示照片的控制項,可替換
}
}
break;
}
}
特殊:
一般情況,以上代碼在Android7.0以下,也就是api<24時,運行是沒有任何問題的。可是當targetSdkVersion變成24及其以上並且在android7.0(及以上版本)系統運行時,會拋出異常:FileUriExposedException。
❺ 手機如何把照片做成圓形
使用手機把照片做成圓形的基或尺方式,可以通過使用美圖秀秀進行實現,讓我來具體演搏高示怎麼進行操作:
(參考環境: 手機型號:OPPOK9, 手機系統:Android11 ,ColorOSV11.1 APP版本:美圖秀秀9.8)
1.打開手機里的美圖秀秀後,點擊【圖片美化】。
這就是手機照片做成的圓形方法,如果還有更加便捷的方式,歡迎評論框留言交流😄。
❻ Android studio從相冊裡面選圖片無法選中
該功能主要實現上傳圖片到伺服器,選擇圖片的方式有兩種,一種是從手機相冊中選擇,另一種是調用手機攝像頭拍照。
1.從相冊選擇的圖片會存儲到 data 裡面,而相機拍照的圖片不會存儲到 data 裡面。
2.由於從相冊選擇的圖片會存儲到 data 裡面,而相機拍照的圖片不會存儲到 data 裡面,所以在獲取圖片資源進行回顯的方式不同,請看一下詳細代碼:(一定要創建文件 createFileName())。