native react 图片裁剪_如何在React Native中聚焦裁剪图像

According to the docs, the react native's Image component support the following resizeModes:

'cover', 'contain', 'stretch', 'repeat', 'center'

If the image is larger then the Image component, the center mode fits the image in the Image in the component by uniformly scaling the image such that the center point of the image is in center of the Image component.

I would like to know if there is a hack or a solution in which we can define a custom point (say 0,300) as a focus point such that it is the center of the Image view.

What I want to achieve is somewhat like focus crop in fresco, but should also work for IOS.

解决方案

React-Native has a built-in API to handle image cropping, ImageEditor. It makes image cropping fairly simple. See the function below for an example.

The inputted image takes the form of a URI. The image is cropped, and a URI pointing to a cropped image is provided (the image is housed via React-Native's ImageStore API). Subsequently use this URI to display the cropped image as you wish.

// Make sure you import ImageEditor from react-native!

async cropImage(){

// Construct a crop data object.

cropData = {

offset:{x:0,y:0},

size:{width:20, height:20},

// displaySize:{width:20, height:20}, THESE 2 ARE OPTIONAL.

// resizeMode:'contain',

}

// Crop the image.

try{

await ImageEditor.cropImage(uri,

cropData, (successURI) => {Something awesome with successURI!},

(error) =>{console.log('cropImage,',error)}

)

}

catch(error){

console.log('Error caught in this.cropImage:', error)

}

}

// End of function.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值