Iphone 如何使用cgcontext引用动态地将100x100图像设置为1000x1000

Iphone 如何使用cgcontext引用动态地将100x100图像设置为1000x1000,iphone,objective-c,uiimageview,Iphone,Objective C,Uiimageview,我想把我正在使用的小图像(100*100)变成大图像(1000*1000),但这是最糟糕的做法 在这里,我在视图中添加了它,但我想在上下文中绘制它并保存它 for(int j=0;j<5;j++) { for(int i=0;i<5;i++) { UIImageView* imgView = [[UIImageView alloc] initWithImage: [UIImageimageNamed:@"ima

我想把我正在使用的小图像(100*100)变成大图像(1000*1000),但这是最糟糕的做法

在这里,我在视图中添加了它,但我想在上下文中绘制它并保存它

for(int j=0;j<5;j++)
      {
          for(int i=0;i<5;i++)
           {
         UIImageView* imgView = [[UIImageView alloc] initWithImage:  [UIImageimageNamed:@"images.jpeg"]];
          [imgView drawRect:CGRectMake(xCoord,yCoord,imgView.frame.size.width, imgView.frame.size.height)]; 
         yCoord =imgView.frame.size.height*j;

         [self.view addSubview:imgView];
          xCoord += imgView.frame.size.width;

          }
           yCoord=0;
           xCoord = 0.0;
       }

for(int j=0;j这看起来像是使用1000x1000
UIView
并将其
backgroundColor
属性设置为

[UIColor colorWithPatternImage:@"images.jpeg"];
如果要在上下文中绘制,请执行以下操作:

CGContextRef context = UIGraphicsBeginImageContext(imageSize);
[patternImage drawAsPatternInRect:imageRect];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

可以通过以下方式将背景图案应用于任何视图:

UIImage *pattern = [UIImage imageNamed:@"yourimage-pattern.png"];
yourView.backgroundColor = [UIColor colorWithPatternImage:pattern];
我认为这将比你目前的方法更容易

编辑:

如果需要,您仍然可以在上下文中渲染视图并截图:

UIGraphicsBeginImageContext(CGSizeMake(1000,1000)));
[yourView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

确保您使用的是
QuartzCore库
,并且已经为此代码段引用了头文件:
#import

如果您希望在上下文中绘制它,请使用
[image drawaspatternirect:rect]

编辑:

此方法将生成给定大小的新图像。重复绘制图像,直到填充整个上下文

UIImage * TiledImage(UIImage *tile, CGSize size) {
    UIGraphicsBeginImageContext(size);
    [tile drawAsPatternInRect:CGRectMake(0,0, size.width, size.height)];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;
}

在您的情况下,只需编写:
UIImage*bigImage=TiledImage([uiimagename:@“images.jpeg]”,CGSizeMake(10001000))
现在你有了1000x1000像素的图像。

我想在一个上下文中绘制并将该上下文保存到相册中我不想在视图中显示,我通常在上下文中显示我想在上下文中显示并保存该上下文我不知道如何做。如果可能的话,你可以提供一些代码。.谢谢uI编辑了我的答案并添加了一个小示例。该方法将给给定大小的新图像打分,该图像应该与您的图片相似。不明白先生。您能详细解释一下吗,这是100X100图像先生,我想在该上下文中重新绘制该图像…我修改了我的答案,希望这会有所帮助。您好先生,谢谢您,我需要其他帮助我们如何动态更改图像的旋转。表示它想旋转我从哪个角度看。。