zoukankan      html  css  js  c++  java
  • [RN] React Native 使用开源库 react-native-image-crop-picker 实现图片选择、图片剪裁

    React Native 使用开源库 react-native-image-crop-picker 实现图片选择、图片剪裁

    该库可以实现启动本地相册和照相机来采集图片,并且提供多选、图片裁剪等功能,支持iOS和Android两个平台,不同平台需要分别配置,详细的文字说明见github

    一、安装

    npm install react-native-image-crop-picker -S
    
    react-native link react-native-image-crop-picker 

    二、配置

    1)Android

    a、Gradle版本必须大于2.2

    b、

    打开android下的build.gradle ,加入 maven { url "https://jitpack.io" }

    allprojects {
      repositories {
        jcenter()
        maven { url "https://jitpack.io" }
       }
    }

    同时 打开android/app下的build.gradle,在android / defaultConfig / 节点下添加useSupportLibrary

    android {  
        ...  
        defaultConfig {  
            ...  
            vectorDrawables.useSupportLibrary = true  
            ...  
        }  
        ...  
    } 

    c、打开android/app/src/main/AndroidManifest.xml配置文件,添加权限:

    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    d、settings.gradle 添加  (如已被 link 添加,则可跳过)

    include ':react-native-image-crop-picker'
    project(':react-native-image-crop-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-crop-picker/android')

    e、MainApplication  中添加   (如已被 link 添加,则可跳过)

    import com.reactnative.ivpusic.imagepicker.PickerPackage;
    
    
    
    
    ******
    
    @Override
        protected List<ReactPackage> getPackages() {
          return Arrays.<ReactPackage>asList(
              new MainReactPackage(),
                new ReactVideoPackage(),
                new OrientationPackage(),
                new VectorIconsPackage(),
                new PickerPackage()
          );
        }
    
    ******

    2)IOS

    由于 笔者 暂时是在Android下开发,后续在IOS中 实践通过,再补充!

    三、使用

    1)引用

    import ImagePicker from 'react-native-image-crop-picker'; 

    2)调用

        // 从本地相册选择单幅图像
        ImagePicker.openPicker({  
           400,  
          height: 400,  
          cropping: true  
        }).then(image => {  
          console.log(' 图片路径:'+ image);  
        }); 
         
        // 调用多个图像
        ImagePicker.openPicker({  
          multiple: true  
        }).then(images => {  
          console.log(images);  
        });
         
        // 启动相机拍照
        ImagePicker.openCamera({  
           400,  
          height: 400,  
          cropping: true  
        }).then(image => {  
          console.log(image);  
        }); 
         
        // 裁剪已有的图片
        ImagePicker.openCropper({  
          path: 'image-file-path.jpg',  
           400,  
          height: 400  
        }).then(image => {  
          console.log(image);  
        });

    本博客地址: wukong1688

    本文原文地址:https://www.cnblogs.com/wukong1688/p/10960484.html

    转载请著名出处!谢谢~~

  • 相关阅读:
    ubuntu下手动安装autoconf
    解决VMware下的ubuntu桌面鼠标键盘失效的问题
    DP搬运工1
    把数字转换成货币格式
    指定字符隐藏
    JS 时间获取 (常用)
    electron 安装
    el-form表单校验包含循环
    算法-07| 动态规划
    纯手撸——归并排序
  • 原文地址:https://www.cnblogs.com/wukong1688/p/10960484.html
Copyright © 2011-2022 走看看