我有一个UIImageView
,大小为(144,130)
,捕获后得到的图像大小为(720,960)
。
我已经用
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
在这里,我给的新大小是
(144,130)
,因为它是imageview
的大小。即使图像被拉长。我该怎么做才能使图像不被拉伸?
编辑1
UIImage *imageCapture = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
UIImage *finalImage = [self imageByScalingAndCroppingForSize:(imageview.frame.size)];
按照这个link的答案
编辑2
拍摄的图像尺寸为:{720、960}
imageview.frame.size:{144,130}
newSize:{97.5,130}
最佳答案
调整大小时,您必须保持宽高比。只需将视图的长宽比与实际图像匹配,就不会有任何拉伸的图像...
this对您可能有用