UIImageに変換したいEAGLViewがあります。私はここに投稿された解決策でこれを行うことができます:
EAGLViewからUIImageを取得するにはどうすればよいですか?
ただし、これを達成できるのは、EAGLViewの作成とUIImageの作成の間に少し時間が経過した場合のみです。
EAGLViewを作成し、その直後にUIImageViewを作成するこのコードは、機能しません。
EAGLView *EAGLphoto = [[EAGLView alloc] initWithImage:photo.workAreaImage];
[theWorkArea.photoArea1 addSubview:EAGLphoto];
//I put a glfinish() here but it didn't help
UIImageView *photoView = [[UIImageView alloc] initWithImage:[self glToUIImage]];
//glToUIImage is taken from the link above
[theWorkArea.photoArea2 addSubview:photoView];
EAGLViewの作成が完了する前に、UIImageViewが作成されようとしていると思います。glfinish()を間に入れようとしましたが、何もしませんでした。コードを実行すると、EAGLViewは正常に表示されますが、UIImageViewは黒で表示されます。
ただし、上記のコードのこの変更バージョンは機能します。
EAGLView *EAGLphoto = [[EAGLView alloc] initWithImage:photo.workAreaImage];
[theWorkArea.photoArea1 addSubview:EAGLphoto];
[self performSelector:@selector(getUIImage) withObject:nil afterDelay:0.1];
- (void)getUIImage {
UIImageView *photoView = [[UIImageView alloc] initWithImage:[self glToUIImage]];
//glToUIImage is taken from the link above
[theWorkArea.photoArea2 addSubview:photoView];
}
glfinish()を間違って使用していますか?私のハックよりも良い方法はありますか?