Qt 无损 QPixmap 来自 pdf

问题描述 投票:0回答:1

使用

QPixmap("pdf_filename");
我的像素图损失了很多 pdf 质量,有什么办法可以避免损失?

我尝试使用在线转换器将 pdf 转换为 png,当我使用 QPixmap 加载 png 时,没有任何损失。

qt
1个回答
0
投票

感谢musicamante的建议,这里是我的工作代码,它得到一个pdf,将其转换为png以保持质量,加载png并将其显示到标签中(跳过保存似乎会导致qt 6.5中的质量损失):

 void importPDF(){
    QString fileName = QFileDialog::getOpenFileName(this, tr("Import PDF"),"/home",tr("*.pdf"));
    QPdfDocument* pdf = new QPdfDocument();
    pdf->load(fileName);
    pdf->render(0,pdf->pagePointSize(0).toSize()).save("temp.png");
    QPixmap pix("temp.png");
    label->setPixmap(pix->scaled(label->size(), Qt::KeepAspectRatio,Qt::SmoothTransformation));
}
© www.soinside.com 2019 - 2024. All rights reserved.