
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
expo-image-crop
Advanced tools
Multi platform 🚀
Expo.ImageManipulator is only a API without a UI, so you have to build your own UI on top of it, or choose detach your project to use third party linked packages, witch is no so good because a pure javascript Expo project is marvelous!No more flickering while resizing image mask!
Compatible with Expo SDK 36
Atention: squareAspect was removed on this version and will be add in future versions, if you need it, please stay at 0.2.17
import React from 'react'
import { Dimensions, Button, ImageBackground } from 'react-native'
import { ImageManipulator } from 'expo-image-crop'
export default class App extends React.Component {
state = {
isVisible: false,
uri: 'https://i.pinimg.com/originals/39/42/a1/3942a180299d5b9587c2aa8e09d91ecf.jpg',
}
onToggleModal = () => {
const { isVisible } = this.state
this.setState({ isVisible: !isVisible })
}
render() {
const { uri, isVisible } = this.state
const { width, height } = Dimensions.get('window')
return (
<ImageBackground
resizeMode="contain"
style={{
justifyContent: 'center', padding: 20, alignItems: 'center', height, width, backgroundColor: 'black',
}}
source={{ uri }}
>
<Button title="Open Image Editor" onPress={() => this.setState({ isVisible: true })} />
<ImageManipulator
photo={{ uri }}
isVisible={isVisible}
onPictureChoosed={({ uri: uriM }) => this.setState({ uri: uriM })}
onToggleModal={this.onToggleModal}
/>
</ImageBackground>
)
}
}
| Props | Type | Default | Description |
|---|---|---|---|
| isVisible | boolean | false | Show or hide modal with image manipulator UI |
| onPictureChoosed | function | Callback where is passed image edited as parameter | |
| photo | object | { "uri": string } | uri of image to be edited |
| btnTexts | object | { "crop": string, "done": string, "processing": string} | name for crop, done and processing texts |
| onToggleModal | function | Callback called when modal is dismissed | |
| borderColor | string | #a4a4a4 | Color for crop mask border |
| allowRotate | boolean | true | Show rotate option |
| allowFlip | boolean | true | Show flip option |
| saveOptions | object | { "compress": number, "format": string, "base64": boolean} | A map defining how modified image should be saved |
| fixedMask | object | { "width": number, "height": number } | Width and height fixed mask |
{
uri: string,
base64: string // undefined if base64 is false on saveOptions prop
}
ImageManipulatorFAQs
Crop, rotate and flip images without detach your expo project!
The npm package expo-image-crop receives a total of 105 weekly downloads. As such, expo-image-crop popularity was classified as not popular.
We found that expo-image-crop demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.