WebApp mui&H5+ 用户头像处理之拍照并剪切(Native.js for Android)

9 篇文章 0 订阅
5 篇文章 0 订阅
拍照后裁剪照片(Native.js for Android和H5+混合)
mui官方文档http://www.html5plus.org/doc/zh_cn/android.html
            var cmr = plus.camera.getCamera();
            cmr.captureImage(function(p) {//调用摄像头拍照
                plus.io.resolveLocalFileSystemURL(p, function(entry) {
                    var IMAGE_UNSPECIFIED = "image/*";
                    var PHOTOZOOM = 2; // 获取完图片返回key
                    var PHOTOLAT = 1; // 剪裁完毕后返回key
                    var main = plus.android.runtimeMainActivity();
                    var Intent = plus.android.importClass("android.content.Intent");
                    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);
                    var outPutPath = plus.io.convertLocalFileSystemURL("_doc/camera/5566.jpg");
                    var file = new File(outPutPath);
                    // 输出目录uri
                    var outPutUri = Uri.fromFile(file);
                    //拍照回来的绝对路径
                    var path = entry.toLocalURL();
                    //去掉\\或者file://
                    path = path.replace("\\", "");
                    path = path.replace("file://", "");
                    var _file = new File(path);
                    var a = _file.exists();
                    //绝对路径转uri
                    var curCropUri = Uri.fromFile(new File(path));
                    console.log("uri:" + curCropUri);
                    //裁切
                    var cropIntent = new Intent("com.android.camera.action.CROP");
                    cropIntent.setDataAndType(curCropUri, 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", 500);
                    cropIntent.putExtra("outputY", 500);
                    cropIntent.putExtra("return-data", true);
                    main.startActivityForResult(cropIntent, 1);
                    main.onActivityResult = function(requestCode, resultCode, data) {
                        //裁剪成功图片上传
                        //                          upload(outPutPath);
                        //                                      // 判断 剪裁完后的图片输出是否存在
                        var _file2 = new File(outPutPath);
                        console.log(outPutPath);
                        var a2 = _file2.exists();
                        if(a2) {
                            console.log(outPutPath);//最后照片的路径
                        } else {
                            console.log("失败");
                        }
                    };
                    /*end*/
                }, function(e) {

                });
            }, function(e) {

            }, {
                filename: "_doc/camera/",
                index: 1
            });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值