void SelectTrend::mousePressEvent(QMouseEvent *event)
{
float pix[3] = { 0.0 };
glReadPixels(event->x(), height() - event->y(), 1, 1, GL_RGB, GL_FLOAT, pix);
qDebug() << pix[0] << " " << pix[1] << " " << pix[2];
{
float pix[3] = { 0.0 };
glReadPixels(event->x(), height() - event->y(), 1, 1, GL_RGB, GL_FLOAT, pix);
qDebug() << pix[0] << " " << pix[1] << " " << pix[2];
}
我写了这一段代码,想获取鼠标单击位置的白色位置的颜色,但是获取出来,都是 0,0,0,显然是错误的。
偶然间发现,当窗口触发刷新时,glReadPixels 就可以读取了

在Qt OpenGL应用中,使用glReadPixels获取鼠标点击位置颜色时遇到问题,原本应返回的颜色为(0,0,0)。解决方法是在调用glReadPixels前先调用updateGL()确保画面更新,这样就能正确读取到鼠标位置的颜色值。"
136761271,10906911,Android启动优化实践:3个关键建议,"['Android开发', '性能优化', 'Java']
2483

被折叠的 条评论
为什么被折叠?



