更新记录

1.0.1(2024-08-05) 下载此版本

插件功能包含固定及自由比例、圆形框显示、多种图片格式等,界面简洁


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 14.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 17

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


如遇问题请提供详细信息如系统版本和型号、复现步骤、代码片段等

导入插件

 const syczuanImageCropper = uni.requireNativePlugin("syczuan-imageCropper");

使用方式

<template>
    <view>
    <text @click="chooseImage">选择图片裁剪</text>
    <image class="cropper_image" v-if="cropperImage" :src="cropperImage" mode="aspectFit" />
  </view>
</template>
<script>
export default {
 data() {
    return {
      cropperImage:"",
  },
  methods: {
    // 选择图片
    chooseImage(){
      uni.chooseImage({
        count: 1,
        sizeType: ['original', 'compressed'],
        sourceType: ['album','camera'],
        success: (res) => {
          this.cropperImage(res.tempFiles[0].path);
        }
      });
    },
    // 裁剪图片 
    cropperImage(imagePath) {
      const syczuanImageCropper = uni.requireNativePlugin("syczuan-imageCropper");
      const params = {
        /**
         * 默认:无
         * 图片路径 需通过plus.io.convertLocalFileSystemURL转换
         */
        imagePath: plus.io.convertLocalFileSystemURL(imagePath),
        /**
         * 默认:jpeg
         * 图片格式 可选值:jpeg jpg png heic webp
         * iOS无效值: webp
         * Android无效值: heic
         */
        format: "jpeg",
        /**
         * 默认:1
         * 图片质量 可选值:0 ~ 1 (仅format为jpeg|jpg|webp时有效)
         */
        quality: 1,
        /**
         * 默认:原始比例
         * 初始化裁剪比例
         */
        ratio: 1 / 1,
        /**
         * 默认:false
         * 锁定裁剪比例
         */
        lockRatio: false,
        /**
         * 默认:false
         * 开启旋转手势
         * 仅Android
         */
        rotateGesture: false,
        /**
         * 默认:false
         * 隐藏旋转按钮
         * 仅iOS
         */
        hiddenRotateButton: false,
        /**
         * 默认:false
         * 是否为圆形裁剪框
         */
        isCircular: false,
        /**
         * 默认:无
         * 顶部标题 (ios端toolbarPosition为top时不显示)
         */
        title: "Test",
        /**
         * 默认:rgba(255,255,255,1)
         * 确认裁剪按钮颜色
         * 仅iOS
         */
        doneButtonColor: "rgba(255,255,255,1)",
        /**
         * 默认:rgba(255,255,255,1)
         * 取消裁剪按钮颜色
         * 仅iOS
         */
        cancelButtonColor: "rgba(255,255,255,1)",
        /**
         * 默认:bottom
         * 工具栏位置 可选值:top bottom
         * 仅iOS
         */
        toolbarPosition: "bottom",
      };
      syczuanImageCropper.cropper(
        params,
        // 确认裁剪回调
        (e) => {
          if (e.status === 200) {
            this.cropperImage = e.data.fileURL;
          } else {
            this.cropperImage = "";
          }
        },
        // 取消裁剪回调
        (e) => {
          console.log(e)
        }
      );
    }
  }
};
</script>
<style scoped>
.cropper_image {
  width: 700rpx;
  height: 350px;
  margin: 0 auto;
}
</style>

开始裁剪

syczuanImageCropper.cropper({params,confirmCallback,cancelCallback})
params<Object>参数说明
属性 类型 默认值 说明
imagePath string 图片路径,需通过 plus.io.convertLocalFileSystemURL 转换。
format string "jpeg" 图片格式,可选值:"jpeg", "jpg", "png", "heic", "webp"
iOS无效值: webp
Android无效值: heic
quality number 1 图片质量,可选值范围:0 ~ 1。仅当 format"jpeg", "jpg", "webp" 时有效。
ratio number 原始比例 初始化裁剪比例,计算方法为 width/height
lockRatio boolean false 是否锁定裁剪比例
isCircular boolean false 是否为圆形裁剪框
rotateGesture boolean false 是否开启旋转手势
Android
hiddenRotateButton boolean false 是否隐藏旋转按钮
iOS
title string 裁剪页顶部标题
iOStoolbarPositiontop 时不显示
doneButtonColor string "rgba(255,255,255,1)" 确认裁剪按钮颜色
iOS
cancelButtonColor string "rgba(255,255,255,1)" 取消裁剪按钮颜色
iOS
toolbarPosition string "bottom" 工具栏位置,可选值:"top", "bottom"<br/>仅iOS`
confirmCallback返回参数说明
参数 类型 说明
status Number 状态码 200: 请求成功 400: 请求失败
data Object fileURL: 文件地址(使用此地址)
width: 宽
height: 高
size: 字节大小
filePath: 文件路径
msg String status=200 --- "success" status:400 --- ERROR
cancelCallback返回参数说明
参数 类型 说明
status Number 状态码 400
data String
msg String "Cancelled"

清除裁剪图缓存文件夹

syczuanImageCropper.clearCacheDir()

隐私、权限声明

1. 本插件需要申请的系统权限列表:

媒体文件储存权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT License

Copyright (c) 2024 syczuan

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问