2015-09-23 384 views
-1

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

2)将图像显示给用户时,某些图像是风景,有些图像是肖像,当图像处于高分辨率分辨率,那么很难在屏幕上显示它们。我想要一个修剪图像的算法,例如,当图像是横向的时候,这意味着我们必须从左到右裁剪一些尺寸,当图像是纵向时,这意味着我们必须从顶部和底部裁剪图像部分

我该怎么做这两件事?

感谢

回答

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 contentmode?