仅显示uiimage的一部分

时间:2012-11-26 16:50:33

标签: objective-c ios uiimage

我已经以编程方式创建了一个UIImageview,我正在显示一个包含图片网址的字符串中的图像

但我想展示原始图像的一个部分(中心的一个矩形)。我如何实现这一目标?

    NSString * urlString = @"http://4.bp.blogspot.com/-  rEqVgkdnuxE/TWd6Fm6EWtI/AAAAAAAABSc/cWCehI51v_Y/s1600/red_rose_flower3.jpg"

   NSURL *url = [NSURL URLWithString:urlstring];
   NSData *data = [NSData dataWithContentsOfURL:url];
   UIImage *img = [[UIImage alloc] initWithData:data];

2 个答案:

答案 0 :(得分:1)

试试这个尺寸:)

UIImageView *imageView = [UIImageView alloc] initWithImage:image];
[imageView setFrame:SIZEOFRECTANGLE];
[imageView setContentModeCenter];

答案 1 :(得分:0)

UIImageView 中移动大图像的非常简单的方法如下。

让我们以像素为单位显示尺寸(imgX,imgY)的图像,并且我们希望以磅为单位显示其中心(sizeX,sizeY)。 解决方案是:

UIImageView *iView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, sizeX, sizeY)];
iView.image = [UIImage imageNamed:@"NAME"];
CGRect contentFrame = CGRectMake(1/2-sizeX/imgX, 1/2-sizeY/imgY, 2*sizeX/imgX, 2*sizeY/imgY);
iView.layer.contentsRect = contentFrame;

此处 contentFrame 是相对于真实 UIImage 大小的规范化框架。 它将是没有放大倍率的原始图像视图。