我目前正在从解码器读取图像,并在小部件中绘制它的每个帧。
这就是我现在正在做的:

 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/

10-10 00:56