標籤:輸出 on() port hbuilder console ret exist 錯誤 java類
head.addEventListener(‘tap‘,function() { var IMAGE_UNSPECIFIED = "image/*"; //相簿顯示的檔案類型 var PHOTOZOOM = 2; // 擷取完圖片返回key var PHOTOLAT = 1; // 剪裁完畢後返回key var main = plus.android.runtimeMainActivity(); //h5+擷取應用主Activity執行個體對象 var Intent = plus.android.importClass("android.content.Intent"); //匯入java類intent對象 以下importClass都是使用安卓原生類 var MediaStore = plus.android.importClass("android.provider.MediaStore"); var File = plus.android.importClass("java.io.File"); var Uri = plus.android.importClass("android.net.Uri"); var intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_UNSPECIFIED); intent.putExtra("scale", true); intent.putExtra("scaleUpIfNeeded", true); var outPutPath = plus.io.convertLocalFileSystemURL("_www/head.jpg"); main.startActivityForResult(intent, PHOTOZOOM); main.onActivityResult = function(requestCode, resultCode, data) { if (PHOTOZOOM == requestCode) { var file = new File(outPutPath); // 輸出目錄uri var outPutUri = Uri.fromFile(file); if (data == undefined) { return false; } plus.android.importClass(data); var uri = data.getData(); var cropIntent = new Intent("com.android.camera.action.CROP"); //裁剪 cropIntent.setDataAndType(uri, IMAGE_UNSPECIFIED); // 完畢後 輸出目錄 cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, outPutUri); cropIntent.putExtra("crop", "true"); //aspectX aspectY 是寬高的比例 cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1); // outputX outputY 是裁剪圖片寬高 cropIntent.putExtra("outputX", 70); cropIntent.putExtra("outputY", 70); cropIntent.putExtra("return-data", true); main.startActivityForResult(cropIntent, PHOTOLAT); } else if (requestCode == PHOTOLAT) { if (data == undefined) { return false; } var a = new File(outPutPath); if (!a.exists()) { console.log(outPutPath); mui.toast(‘裁剪錯誤‘); return false; } img.src = outPutPath; } }});
參考文章 http://ask.dcloud.net.cn/question/8314
hbuilder mui調用系統裁剪圖片、頭像裁剪-Android