I’ve tried ngImgCrop, which was ok, but it doesn’t support high resolution displays, like the iPhone. It looks bad / pixelated. I ask had issues getting an image to store locally after crop for use in uploading. But I’ve had that issue with every canvas based cropping directive.
Well actually I don’t even want the images in my app to be that hi-res, because I’m retrieving them over the network. So I want them to be fairly small (tens or hundreds of KB’s, not MB’s).
So, I’m setting the JPEG quality fairly low already (even before I feed them into ngImgCrop).
Didn’t run into issues of unacceptable quality as yet.
I’ve also tried implementation of cordoba-plugin-crop, which I liked, but the server is setup to take actual images, and not base64. I wasn’t able to get the base64 back to an image before uploading.
For now I’ll make do with this plugin (the project’s already taking too long anyway, and maybe I’ll not even release it on iOS), but I’ll keep eye on the issue, maybe they’ll supply a fix.
It’s likely due to native cropping capabilities in the iOS camera app. Reading up on this feature request for android, the cordova-camera-plugin delegates to the application for cropping. Not sure what it does for iOS, but it appears the plugin doesn’t implement pan and crop itself. If you read the README, you’ll see that the canEdit setting is ignored on most platforms. Likely not a good idea to use it unless you only need to support iOS – and are OK with an inconsistent UX between the camera and photo library.
I ended up implementing my own image zoom and pan on a canvas with mouse and touch support. Snippet is here, feel free to borrow the code. My implementation won’t force the image to stay within the canvas, however, double-tap/click will reset the image. My implementation does not allow image rotation, which some of the android croppers do allow. Hammer does provide a rotate event, so rotation could be added, if desired.
Any news on this? I have latest version of ion and camera plugin and cropping after taking photo is not possible to change. If I choose from gallery, everything works…