Tôi có một cửa sổ OpenGL và một hộp thoại wxWidget. Tôi muốn phản chiếu OpenGL cho hộp thoại. Vì vậy, những gì tôi có ý định làm là:Cách vẽ ảnh chụp màn hình được chụp từ glReadPixels sang hộp thoại/bảng điều khiển wxWidgets
- Chụp ảnh chụp màn hình của OpenGL
- hiển thị nó vào hộp thoại wxwidgets.
Bất kỳ ý tưởng nào?
Cập nhật: Đây là cách mà tôi hiện đang sử dụng glReadPixels (Tôi cũng tạm thời sử dụng FreeImage để lưu vào tập tin BMP, nhưng tôi hy vọng tiết kiệm tập tin phải được loại bỏ nếu có một cách chuyển nó trực tiếp đến 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 How are you gọi? Bạn có thể sử dụng dữ liệu được trả về để tạo một wxImage và lấy nó từ đó. – Bart
@Bart: Tôi đã cập nhật bài đăng để bao gồm mã. Tôi đánh giá cao nếu bạn có thể chỉ cho tôi cách tạo một wxImage từ dữ liệu được trả về. – huy