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({
width: ,
height: ,
cropping: true
}).then(image => {
console.log(' 图片路径:'+ image);
}); // 调用多个图像
ImagePicker.openPicker({
multiple: true
}).then(images => {
console.log(images);
}); // 启动相机拍照
ImagePicker.openCamera({
width: ,
height: ,
cropping: true
}).then(image => {
console.log(image);
}); // 裁剪已有的图片
ImagePicker.openCropper({
path: 'image-file-path.jpg',
width: ,
height:
}).then(image => {
console.log(image);
});

本博客地址: wukong1688

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

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

[RN] React Native 使用开源库 react-native-image-crop-picker 实现图片选择、图片剪裁的更多相关文章

  1. beeshell —— 开源的 React Native 组件库

    介绍 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...

  2. React Native常用的第三方开源库

    记录一下自己暂目前了解和使用的一些开源库和官方文档和优秀博客介绍,希望对你有帮助☺️: 1.Toast: https://github.com/magicismight/react-native-ro ...

  3. 2、手把手教React Native实战之从React到RN

    ###React简介 RN是基于React设计,了解React有助于我们开发RN应用: React希望将功能分解化,让开发变得像搭积木一样,快速而且可维护 React主要有如下3个特点: *作为UI( ...

  4. 如何运行开源的React Native项目?

    如何运行开源的RN项目? 1.下载 2.解压 3.配置本地sdk位置 sdk.dir = D\:\\Android\\SDK 4.调整gradle版本 apply plugin: "com. ...

  5. (转)React Native 使用react-native-image-picker库实现图片上传功能

    react-native-image-picker作为一个集成相机和相册的功能的第三方库,因为其使用相对简单受到前端开发人员的喜爱. react-native-image-picker使用 首先,安装 ...

  6. React 与 React Native 底层共识:React 是什么

    此系列文章将整合我的 React 视频教程与 React Native 书籍中的精华部分,给大家介绍 React 与 React Native 结合学习的方法,此小节主要介绍 React 的底层原理与 ...

  7. Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较

    说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid Ap ...

  8. 利用 Create React Native App 快速创建 React Native 应用

    本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...

  9. Native VS H5 VS React Native

    现在软件行业已经跨入大前端时代,所以势必学一点前端的知识.本来移动端开发都是使用各自平台的语言,如iOS端使用OC,swift:Android使用java,但是随着H5的出现,导致移动端Native出 ...

随机推荐

  1. Java的常用API

    Object类 1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法. 2.equals方法方法摘要:类默认继承了Object类,所以可以使用O ...

  2. Java.util.Math类--数学相关的工具类

    Math类--数学相关的工具类 java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作. public static double abs(double ...

  3. IP地址和MAC地址绑定的必要性

    计算机网络是一个共通的网络,世界上任何计算机都可以互相访问. 实现的原理基于网络通讯的互联网交互五层模型. 计算机网络的历史发展 当计算机网络技术初始利用的时代,几台计算机通过集线器连接,就可以实现网 ...

  4. 你读过的最好的 C++ 开源代码是什么?

    LevelDb LevelDb是谷歌两位大神级别的工程师发起的开源项目,简而言之,LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库.链接:google/level ...

  5. efCore+Mysql+Net Core

    1.首先新建一个空的Asp.net core项目 2.新建一个类    gj.cs public class gj { // <summary> /// 主键 /// </summa ...

  6. linux学习-防火墙指令

    Redhat7之前的版本(iptables) 开启关闭防火墙 放行端口 RedHat7防火墙相关的指令(firewall-cmd) 安装firewall 本文内容适用于 redhat 和 centos ...

  7. Java自学-数字与字符串 StringBuffer

    Java StringBuffer常见方法 StringBuffer是可变长的字符串 示例 1 : 追加 删除 插入 反转 append追加 delete 删除 insert 插入 reverse 反 ...

  8. django配置文件

    1.BASSE_DIR BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 当前工程的根目录,Django会依 ...

  9. Python - 实现矩阵转置

    有个朋友提出了一个问题:手头上现在有一个二维列表,比如[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],现在要把该二维列表变成为[[1, 4, 7, 10 ...

  10. MongoDB的集群模式--Sharding(分片)

    分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署. 具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量.例如,高查询率会耗尽服务器的CP ...