如何将UIView的一部分转换为UIImage并在imageView中显示它

时间:2013-05-14 08:34:56

标签: iphone ios uiview uiimage

我有一个视图,其中我正在绘制签名,我希望视图的签名部分应转换为UIImage,然后将其显示在UIImageView这里是我从中得到的代码net我用于转换

    UIGraphicsBeginImageContext(signatureView.bounds.size);
   [signatureView.layer renderInContext:UIGraphicsGetCurrentContext()];
   UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
   logoImageView.image=img;
   UIGraphicsEndImageContext();

3 个答案:

答案 0 :(得分:2)

试试这个希望会对你有帮助。

 - (UIImage *) getUIImageWithmyView:(UImyView *)myView
    {
        UIGraphicsBeginImageContextWithOptions(myView.bounds.size, myView.opaque, 0.0);
        [myView.layer renderInContext:UIGraphicsGetCurrentContext()];

        UIImage * myImage = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        return myImage;
    }

答案 1 :(得分:1)

使用我的波纹管方法......

- (UIImage *)captureView {

     //hide controls if needed
    CGRect rect = [signetureView bounds];//use your signature view's Rect means Frame;

    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];   
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;

}

您可以将此上述方法称为下方...

UIImage *tempImageSave=[self captureView];

答案 2 :(得分:0)

试试这个:

  UIGraphicsBeginImageContext(signatureView.bounds.size);
  [signatureView.layer renderInContext:UIGraphicsGetCurrentContext()];
  UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  logoImageView.image=img;

首先是endimagecontext,然后在imageview中设置/使用该图像