我有一个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对您可能有用

10-07 19:53
查看更多