Obviously using dedicated graphics library would be best, but I was recently prototyping a way to do this with the snapshot API.
- Have an image and a “canvas” (touch-responsible view) under a single parent view (the canvas would be absolutely positioned to take up the entire view).
Expo.getSnapshotAsync() on the parent view.
If what you’re doing is really simplistic, this might be enough. The big limitation is that the resulting image has the same resolution as the parent view. My theory (not tested at all) is that you could get a high-res copy by reproducing the view offscreen (using absolute positioning) and snapshotting that instead.
The PoC snack is here https://snack.expo.io/@llamaluvr/food-selfie (long story on the “food selfie” thing. In short, this was a PoC for a workshop proposal and the draggable square was going to be a food image).