如何在UIImageView中调整jpg的大小?

时间:2012-01-11 02:34:55

标签: objective-c cocoa-touch

我将一个jpg加载到UIImageView中。图像超大到iPhone屏幕。如何将其调整为特定的CGRect框架?

UIImageView *uivSplash = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"iPhone-Splash.jpg"]];
[self.view addSubview:uivSplash];

2 个答案:

答案 0 :(得分:1)

UIImageView只是UIView,因此您可以更改其frame属性。

uivSplash.frame = CGRectMake(0, 0, width, height);

答案 1 :(得分:1)

您需要一个类似以下的方法:

CGFloat newWidth    = whateverYourDesiredWidth; // someView.size.width for example
CGFloat newHeight   = whateverYourDesiredHeight; // someView.size.height for example

CGSize newSize      = CGSizeMake(newWidth, newHeight);

UIGraphicsBeginImageContext(newSize);

[yourLargeImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();


return newImage;

这样就可以获得所需的宽度和高度(可能是屏幕大小,可能是硬编码的大小,也可能是基于UIView的大小),并在该大小的上下文中重新绘制图像。

〜祝你好运

编辑:它发生在我身上我可能误解了你的愿望,所以我也会指出(正如其他人所说的)UIImageView的图像属性让你适应它的大小,缩放以填充,保留方面比率等。