我有两个关于Image的问题。 1)当用户选择图像时,有时图像的大小非常大,当从iPhone 6或6S捕获图像时,图像大小为15MB到20MB,这需要很长时间才能上传到服务器。我如何裁剪或调整图像的尺寸,使其尺寸足够大,以使其具有良好的分辨率
2)当向用户显示图像时,一些图像是风景,一些是肖像,当图像是高分辨率时,则很难在屏幕上显示这些图像。我想要一个裁剪图像的算法,例如当图像是风景时,这意味着我们必须从左右裁剪一些尺寸,当图像是肖像时,这意味着我们必须从顶部和底部裁剪图像部分
我怎么能做这两件事?
由于
答案 0 :(得分:0)
这是我在我的应用中用于调整大小图像的内容:
+ (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内容模式?
答案 1 :(得分:0)
您可以使用以下库" https://github.com/ruslanskorb/RSKImageCropper"实现图像裁剪。