C++ Qt3D QAbstractTextureImage像素化

C++ Qt3D QAbstractTextureImage像素化,c++,qt,qt3d,qtwidgets,C++,Qt,Qt3d,Qtwidgets,我在我的项目中使用Qt3D,我需要动态更改平面的纹理。为此,我使用QabStretchTextureImage的实现。 我有: 在我的场景编辑器中。因此,它使用纹理将平面添加到具有材质的场景中。mPlane的宽度和高度分别为4.0和3.0。纹理图像的分辨率为640x480,因此也是4:3 void PaintedTextureImage::paint(QPainter *painter) { ... current = QImage((uchar*)color.data, col

我在我的项目中使用Qt3D,我需要动态更改平面的纹理。为此,我使用QabStretchTextureImage的实现。 我有:

在我的场景编辑器中。因此,它使用纹理将平面添加到具有材质的场景中。mPlane的宽度和高度分别为4.0和3.0。纹理图像的分辨率为640x480,因此也是4:3

void PaintedTextureImage::paint(QPainter *painter)
{
    ...
    current = QImage((uchar*)color.data, color.cols, color.rows, color.step, QImage::Format_RGB888);
    painter->drawImage(0, 0, current);

}
如果我将“当前”保存到文件中,“当前”的外观如下:

这就是它被画成textue的样子:

所以图像质量变得非常差,我不明白为什么。

解决方案:

planeTextureImage->setWidth(640);
planeTextureImage->setHeight(480);
默认值为256x256

planeTextureImage->setWidth(640);
planeTextureImage->setHeight(480);