0

iamが1つのアプリケーションを実行しています。その中で、画像付きの1つのimageviewを使用し、すっきりとした穴のある1つのビューを追加します。 ).Iamは以下のコードを使用していますが、機能していません。

- (UIImage*)captureView:(UIView *)yourView {
CGRect rect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[yourView.layer renderInContext:context];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
 }

しかし、それは機能していません。

4

2 に答える 2

0

あなたのscreeShoTを取るためにこれを試してください

-(UIImage*)getScreenShot
{
    CGSize screenSize = [[UIScreen mainScreen] applicationFrame].size;

    //CGSize screenSize = CGSizeMake(1024, 768);
    CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();

    CGContextRef ctx = CGBitmapContextCreate(nil, screenSize.width, 416, 8, 4*(int)screenSize.width, colorSpaceRef, kCGImageAlphaPremultipliedLast);
    CGContextTranslateCTM(ctx, 0.0, screenSize.height);
    CGContextScaleCTM(ctx, 1.0, -1.0);

    [(CALayer*)self.yourView.layer renderInContext:ctx];

    CGImageRef cgImage = CGBitmapContextCreateImage(ctx);
    UIImage *image = [UIImage imageWithCGImage:cgImage];
    CGImageRelease(cgImage);
    CGContextRelease(ctx);

    return image;

}
于 2013-01-09T11:58:43.977 に答える
0

これが俺たちのやり方です:

UIGraphicsBeginImageContextWithOptions(yourView.bounds.size, yourView.opaque, 0.0);
[yourView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *LastImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
于 2013-01-09T12:00:31.690 に答える