1

画面をキャプチャしたい場合はiosアプリで、次のコードを使用できます。

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
currentCaptureImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

しかし、特定のポイント、たとえば(start.x、start.y)から、特定の幅と高さで写真をキャプチャしたいのですが、どうすればよいですか?

4

1 に答える 1

0

私はそれをググって、self.viewの特定のサイズをキャプチャする方法から最良の答えを得ました

UIGraphicsBeginImageContextWithOptions(CGSizeMake(300, 320), YES, 0.);
    [self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

たとえば、ビューが 600x320 で、中央の 300 ポイントの幅をキャプチャしたい場合、コンテキストを 150 ポイント左に移動します。

UIGraphicsBeginImageContextWithOptions(CGSizeMake(300, 320), YES, 0.);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, -150.f, 0.f);
    [self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
于 2013-02-08T06:33:43.557 に答える