开发者

Scale an image from the camera to a UIImageView (and keep ratio)

I want to display a picture taken by the camera and scale it down AND keep scale ratio.

The different models of iPhones all have different resolution of photos.

I've tried some assignments with bounds etc but no luck - giving me a lvaule requires erro开发者_如何学Gor.

My image from the camera is called "imageA" and the UIImageView is "imageView"

Any ideas would be appreciated.


I think you just need to set the content mode of the UIImageView you are using to display the image to "aspect fit".


Those lvalue errors are happening because the bounds themselves are a property but the coordinates in them are struct members (even though the syntax is the same) - you can't directly get or set them. So to change the bounds you'd want something like:

CGRect imageBounds = imageView.bounds;
imageBounds.x += 10;
imageView.bounds = imageBounds;

Calling sizeToFit on the UIImageView after setting the image should get it to automatically resize its frame around it.

And yes, per Walter's answer if you set the view's contentMode to UIViewContentModeScaleAspectFit that should get it to preserve the aspect ratio.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜