React-Native图片剪裁react-native-image-crop-picker

使用 react-native-image-crop-picker

图片裁切组件

  1. 安装

    yarn add  react-native-image-crop-picker 
    
  2. 使用

    import ImagePicker from 'react-native-image-crop-picker';
     
    const image = await ImagePicker.openPicker({
      // 选择完图片之后将要被裁剪的宽和高
      width: 300,
      height: 400,
      // 要不要开启裁剪功能
      cropping: true
    });
    
    // 返回图片的路径是file:///storage/emulated/0/Android/data/com
    // <Image source={{ uri: image.path }} style={{ width: "60%", height: "60%"}}>
    
  3. 实现图片的上传


teaset-overlay

  • 遮罩层,有显示和关闭功能
  • 案例(全透明模态悬浮框):
import { Overlay } from "teaset";

// 代表遮罩层对象,可以使遮罩层显示和隐藏
let overlayViewRef = null;
let overlayView = (
  <Overlay.View
    // 遮罩层的样式
    style={{alignItems: 'center', justifyContent: 'center'}}
    modal={true}
    overlayOpacity={0}
    ref={v => overlayViewRef = v}
  >
    {/* 遮罩层的里面的内容 */}
    <View
      style={{
        backgroundColor: '#333',
        padding: 40,
        borderRadius: 15,
        alignItems: 'center',
      }}>
      ...
    </View>
  </Overlay.View>
);
// 显示遮罩层
Overlay.show(overlayView);
// 关闭遮罩层
overlayViewRef.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
React Native 中的 ImagePicker 组件获取到的图片是以 URI 的形式返回的,而不是公共路径。如果您需要将图片保存到公共路径中,可以使用 `react-native-fs` 这个第三方库,用于读取和写入文件系统。 以下是一个简单的示例,演示如何将 ImagePicker 返回的图片保存到公共路径中: ```javascript import React, { useState } from 'react'; import { Button, Image, View } from 'react-native'; import ImagePicker from 'react-native-image-picker'; import RNFS from 'react-native-fs'; const App = () => { const [image, setImage] = useState(null); const handleChoosePhoto = () => { const options = { mediaType: 'photo', quality: 1, }; ImagePicker.launchImageLibrary(options, response => { if (response.uri) { const folderPath = RNFS.DownloadDirectoryPath; const fileName = 'myImage.jpg'; const filePath = `${folderPath}/${fileName}`; RNFS.copyFile(response.uri, filePath).then(() => { setImage(filePath); }); } }); }; return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> {image && ( <Image source={{ uri: `file://${image}` }} style={{ width: 200, height: 200 }} /> )} <Button title="Choose Photo" onPress={handleChoosePhoto} /> </View> ); }; export default App; ``` 在上面的示例中,我们使用 `react-native-fs` 中的 `copyFile` 方法将 ImagePicker 返回的图片复制到公共路径中,并将公共路径作为 state 更新。最后,我们使用 `file://` 协议将图片加载到 Image 组件中。 希望这能帮到您!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值