5
私はOpenGLウィンドウとwxWidgetダイアログを持っています。私はダイアログにOpenGLをミラーリングしたい。だから、私は何をするつもりは次のとおりです。glReadPixelsからwxWidgetsダイアログ/パネルにキャプチャしたスクリーンショットを描画する方法
- はwxWidgetsのダイアログ上にそれを表示しopenglの
- のスクリーンショットをキャプチャします。
更新:これは私が現在、glReadPixels(私も一時的にBMPファイルに保存するFreeImageを使用しますが、私はwxImageに直接チャネルに方法があります場合には、ファイルの保存が削除されることを期待する)
// Make the BYTE array, factor of 3 because it's RBG.
BYTE* pixels = new BYTE[ 3 * width * height];
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);
// Convert to FreeImage format & save to file
FIBITMAP* image = FreeImage_ConvertFromRawBits(pixels, width, height, 3 * width, 24, 0x0000FF, 0xFF0000, 0x00FF00, false);
FreeImage_Save(FIF_BMP, image, "C:/test.bmp", 0);
// Free memory
delete image;
delete pixels;
を使用する方法であります
あなたはどのように呼んでいるglReadPixelsを役に立てば幸い?返されたデータを使ってwxImageを作成し、そこから取得することができます。 – Bart
@Bart:コードを組み込むために投稿を更新しました。返されたデータからwxImageを作成する方法を私に見せていただければ幸いです。 – huy