博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react-native-image-crop-picker学习
阅读量:4085 次
发布时间:2019-05-25

本文共 3630 字,大约阅读时间需要 12 分钟。

github 

http://www.jianshu.com/p/8420b08062c7

react-native-image-crop-picker是一款注重剪裁,相册单选、多选的第三方框架。在我集成了react-native-image-picker的时候发现,他的剪裁不太友好。作者推荐了这个react-native-image-crop-picker。看到搜索不到该中文的翻译,故此文作为学习总结。

实际效果:


我用的是魅族pro6, 实现和github作者图有点出入, 基本没有自己处理界面:我觉得还是可以接受的。


照相机裁剪旋转.jpg

相册选择.jpg

react-native-image-crop-picker 原文如下:


支持IOS/Android的相机,视频压缩,多个图像选择和裁剪处理。

github效果



Paste_Image.png

Paste_Image.png

使用


导入
import ImagePicker from 'react-native-image-crop-picker';
从图库中选择

调用单图像选择器与裁剪

ImagePicker.openPicker({ width: 300, height: 400, cropping: true})    .then(image => { console.log(image);});

调用多个图像选择器

ImagePicker.openPicker({ multiple: true})   .then(images => { console.log(images);});
从照相中选择
ImagePicker.openCamera({ width: 300, height: 400, cropping: true})       .then(image => { console.log(image);});
选择清理

模块创建临时文件图像将在未来的某个地方自动清理。 如果要强制清理,可以使用clean清理所有临时文件图像,或者使用cleanSingle(path)清除单个临时文件。

ImagePicker.clean().then(() => {      console.log('removed all tmp images from tmp directory');})     .catch(e => { alert(e);});
请求对象
参数 类型 描述
cropping bool (default false) 是否打开裁剪
width number 与cropping=true一起使用的,裁剪后的宽度
height number 与cropping=true一起使用的,裁剪后的高度
multiple bool (default false) 启用或禁用多个图像选择
includeBase64 bool (default false) 启用或禁用使用图像返回base64数据
cropperTintColor (android only string (default "#424242") 裁剪图像时,确定工具栏和其他UX元素的颜色。 使用UCrop的setToolbarColor,setActiveWidgetColor和setStatusBarColor颜色指定。
maxFiles (ios only) number (default 5) 最多能够选取的文件数,配合multiple=true
compressVideo (ios only) bool (default true) 选择视频时,压缩它并将其转换为mp4
smartAlbums (ios only) array (default ['UserLibrary', 'PhotoStream', 'Panoramas', 'Videos', 'Bursts']) (智能相册列表可供选择)List of smart albums to choose from 【有点后续理解】
返回对象
参数 类型 描述
path string 选中文件的位置
width number 选中文件的宽度
height number 选中文件的高度
mime string 选中图片的MIME类型(image/jpeg, image/png)
size number 所选图像大小(以字节为单位)
data base64 (已选择的可选base64文件体现)Optional base64 selected file representation

安装


npm i react-native-image-crop-picker --savereact-native link react-native-image-crop-picker
安装后步骤

iOS (IOS没了解,暂时没有去进行翻译)

cocoapods users    Add platform :ios, '8.0'to Podfile (!important)    Add pod 'RSKImageCropper' and pod 'QBImagePickerController'to Podfilenon-cocoapods users     Drag and drop the ios/ImageCropPickerSDK folder to your xcode project. (Make sure         Copy items if needed IS ticked)     Click on project General tab          Under Deployment Info set Deployment Target to 8.0          Under Embedded Binaries click + and add RSKImageCropper.framework  and              QBImagePicker.frameworkAndroid    [可选]如果你想选择相册在你的项目中 在AndroidManifest.xml中          
构建

iOS

cocoapods users      你已经完成。  non-cocoapods users      If you are using pre-built frameworks from ios/ImageCropPickerSDK     , then before deploying app to production you should strip off simulator ARCHs from         these, or you can add frameworks         from Libraries/imageCropPicker/Libraries/_framework_name_.xcodeproj/     Products/_framework_name_.framework to Embedded Binaries instead of pre-built        ones. Related issue: [https://github.com/ivpusic/react-native-image-crop-      picker/issues/61](https://github.com/ivpusic/react-native-image-crop-picker/issues/61)    Details for second approach:         1.Remove the pre-built frameworks from Embedded Binaries         2.Build for Device         3.Add the newly built binaries for both frameworks to Embedded Binaries          (located at Libraries/imageCropPicker/Libraries/_framework_name_.xcodeproj/         Products/_framework_name_.framework)

如何工作的

基本包含的库。

Android :     Native Image Picker     uCropiOS:     QBImagePickerController    RSKImageCropper

转载地址:http://szrni.baihongyu.com/

你可能感兴趣的文章
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
Linux常用统计命令之wc
查看>>
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
Winform多线程
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
获得github工程中的一个文件夹的方法
查看>>