UIImagePickerController 后 UIImage 的大小
Posted
技术标签:
【中文标题】UIImagePickerController 后 UIImage 的大小【英文标题】:Size of UIImage after UIImagePickerController 【发布时间】:2014-07-21 02:17:02 【问题描述】:我试图弄清楚使用UIImagePickerController
拍摄照片后 UIImage 的大小以及如何正确缩放拍摄的图像。如果我想让相机每次都拍一张 100pt x 100pt 的照片,我该怎么做呢?
我咨询了documentationUIImagePickerController
,但它没有任何关于图像大小的信息
【问题讨论】:
UIImage 有一个 size 属性。 您可以在照片被挑选/拍摄到您想要的CGSize
后简单地重新绘制图像。
@troop231 不需要扭曲图像吗?
完全不是我的朋友。也会是这样的:CGSize newSize = CGSizeMake(100.0, 100.0);
做一些搜索。现有很多关于缩放图像的讨论。
【参考方案1】:
我相信这就是你所追求的。如果我错了,请告诉我。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
CGFloat var1;
CGFloat var2;
if (image.size.width > image.size.height)
// Landscape
CGFloat aspect = image.size.width / image.size.height;
CGFloat height = ceilf(100.0/aspect);
var1 = 100.0;
var2 = height;
else if (image.size.height > image.size.width)
// Portrait
CGFloat aspect = image.size.height / image.size.width;
CGFloat width = ceilf(100.0/aspect);
var1 = width;
var2 = 100.0;
else
// Square
var1 = 100.0;
var2 = 100.0;
UIGraphicsBeginImageContextWithOptions(CGSizeMake(var1, var2), NO, 0.0);
[image drawInRect:CGRectMake(0, 0, var1, var2)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
【讨论】:
以上是关于UIImagePickerController 后 UIImage 的大小的主要内容,如果未能解决你的问题,请参考以下文章
UIImagePickerController 后 UIImage 的大小
UIImagePickerController 关闭后 UICollectionView 不会 reloadData()
呈现 UIImagePickerController 后应用程序崩溃
在 UIPopoverController 中使用 UIImagePickerController 后播放视频消失