码迷,mamicode.com
首页 > 移动开发 > 详细

hbuilder mui调用系统裁剪图片、头像裁剪-Android

时间:2017-05-23 12:14:19      阅读:864      评论:0      收藏:0      [点我收藏+]

标签:输出   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

标签:输出   on()   port   hbuilder   console   ret   exist   错误   java类   

原文地址:http://www.cnblogs.com/fangdong/p/6893317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!