当前位置: 首页 > news >正文

mui---调用图像裁剪android

mui调用图像裁剪android:

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);
// uploadImgPath
main.onActivityResult = (requestCode,resultCode,data)=>{
// 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;
        }
        var base64Path = 
        this.uploadImgPath = outPutPath;
        console.log(outPutPath);
        alert(outPutPath);
        // img.src = outPutPath;
    };
};

 

转载于:https://www.cnblogs.com/e0yu/p/10300243.html

相关文章:

  • POI导出excel文件样式
  • Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
  • 开源项目支持CocoaPods
  • mongodb 添加用户报错TypeError:db.addUser is not a function (mongodb3.4.1)
  • now code——小a和黄金街道(欧拉函数和快速幂模板)
  • 手动配置IP网络
  • 移动商城第十三篇【用户拦截器】
  • HOWTO fix Windows Update error 0x80244019
  • 事件的捕获、冒泡、委托
  • 编写第一个HTML5文件
  • Spring学习笔记下载
  • Wordcloud各参数含义
  • Android多工程(project)开发实例
  • eclipse中项目svn转gitLab全过程
  • webRTC开启摄像头
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Android开源项目规范总结
  • codis proxy处理流程
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JavaScript-Array类型
  • React-flux杂记
  • sessionStorage和localStorage
  • 半理解系列--Promise的进化史
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 好的网址,关于.net 4.0 ,vs 2010
  • 机器学习中为什么要做归一化normalization
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 数据科学 第 3 章 11 字符串处理
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一、python与pycharm的安装
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​MySQL主从复制一致性检测
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • "无招胜有招"nbsp;史上最全的互…
  • #android不同版本废弃api,新api。
  • #AngularJS#$sce.trustAsResourceUrl
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (3)llvm ir转换过程
  • (C)一些题4
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (k8s中)docker netty OOM问题记录
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (新)网络工程师考点串讲与真题详解
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net Redis的秒杀Dome和异步执行
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .py文件应该怎样打开?
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /var/spool/postfix/maildrop 下有大量文件
  • @vue/cli 3.x+引入jQuery