图片自动裁剪上传

Auto image cropping and uploading

我有两个关于图像的问题。 1)当用户选择图片时,有时图片尺寸非常大,当图片从IPhone 6或6S捕获时,图片尺寸为15MB到20MB,需要很长时间才能上传到服务器。我如何裁剪或调整图像的大小以使其足够小以使其具有良好的分辨率

2) 向用户展示图片时,有些图片是横向的,有些是纵向的,当图片是高分辨率时,很难在屏幕上显示出来。我想要一个裁剪图像的算法,例如,当图像是横向时,这意味着我们必须从左右裁剪一些尺寸,当图像是纵向时,这意味着我们必须从顶部和底部裁剪图像部分

这两件事我该怎么办??

谢谢

这是我在我的应用程序中用于调整图像大小的方法:

+ (UIImage *)resizeImage:(UIImage *)image {
    CGSize newSize = CGSizeMake(800, 800);
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

也许将图像转换为 jpeg 格式以优化尺寸 (UIImageJPEGRepresentation)

第二点,为什么不用UIImageView的aspectfill contentmode?

您可以使用以下库“https://github.com/ruslanskorb/RSKImageCropper”来实现图像裁剪。