我目前正在从解码器读取图像,并在小部件中绘制它的每个帧。
这就是我现在正在做的:
paintEvent(...){
...
painter.setRenderHint(QPainter::Antialiasing, false);
painter.setRenderHint(QPainter::HighQualityAntialiasing, false);
QPixmap pmap = QPixmap::fromImage(glImage).scaledToWidth(width());
painter.drawPixmap(0, (height() - pmap.height()) / 2, pmap);
...
}
但是,我发现它的计算量很大...
没有在Qt中使用OpenGL,有什么解决方案吗?
最佳答案
您可以尝试使用QPainter::drawImage而不是在图像表示之间进行手动转换(QImage-> QPixmap)。引用文档,它仍应提供缩放图像的方法-“注意:如果图像和矩形大小都不相同,则缩放图像以适合矩形。”
关于c++ - Qt:优化绘画事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28279828/