0

.mm ファイルのスクリーン ショットを撮っています。以下のコードを使用しましたが、2 つの方法で試してみましたが、動作しませんでした。同じコードを .m ファイルのいずれかに配置すると、動作します。

- (void)viewWillAppear:(BOOL)animated
{
 UIGraphicsBeginImageContext(self.view.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    appDelegate.convertedImage=image;
UIGraphicsEndImageContext();
}

         (or)

-(void)viewWillAppear:(BOOL)animated
{
CGSize newSize = CGSizeMake(320, 416);//377
    UIGraphicsBeginImageContext(newSize);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    appDelegate.convertedImage=viewImage;
}

.mm では動作しません。他のオプションはありますか? (私は自分のプロジェクトにopenCvを統合し、そこで1つの.mmファイルを使用しました)

ガイドしてください

前もって感謝します

4

1 に答える 1

0

ビューがレンダリングされる前に viewWillAppear メソッドが呼び出されるため、そこには何もキャプチャされません。代わりに viewDidAppear を使用してみましたか?

いくつかの参照

于 2012-10-23T07:33:20.083 に答える