0

ビューの内容を画像にキャプチャするために使用する次のコードがあります。

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
{
    UIGraphicsBeginImageContextWithOptions(self.mainView.bounds.size, NO, [UIScreen mainScreen].scale);
}
else
{
    UIGraphicsBeginImageContext(self.mainView.bounds.size);
}

[self.mainView.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *image = [UIGraphicsGetImageFromCurrentImageContext() retain];

最近、GLKView(GPU でコア イメージ フィルターをリアルタイムで適用するために使用する) を に接続しようとしましたmainView。上記のコードを実行すると、グラフィックがキャプチャされませんGLKView(代わりに、基本的に無視されます)。

私の質問は、GPU で描画され、まだ CPU にコピーされていない画像にグラフィックスをキャプチャすることは可能ですか?

4

1 に答える 1

2

OpenGL ES を使用して、ビューのフレームバッファ ピクセル データを取得する必要があります。ではできませんrenderInContext:

OpenGL ES を使用してデータを取得するには、いくつかの方法があります。詳細については、この回答をご覧ください。

于 2013-03-10T03:26:56.787 に答える