【Qt】Qt 导出 PDF,Android和Qt截图功能实现

本文探讨了在Qt中如何导出PDF并详细介绍了Android与Qt平台的截图功能实现。在Qt中,作者将多个QPixmap截图整合到PDF文件中。而在Android上,通过`void android.view.View.draw(Canvas canvas)`方法实现截图,将View绘制到Canvas并保存为PNG文件。在Qt中,使用`QPixmap::grabWidget`静态方法完成截图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:Qt导出PDF

这里我是将3个图片(QPixmap:截图而得)画在了导出的pdf里面,其中第1.2张图片在第一页,第3张图片在第2页

代码:

    QPrinter printer_pixmap(QPrinter::HighResolution);
    printer_pixmap.setPageSize(QPrinter::A4);  //设置纸张大小为A4
    printer_pixmap.setPrintRange(QPrinter::AllPages);
    printer_pixmap.setOutputFormat(QPrinter::PdfFormat);  //设置输出格式为pdf
    printer_pixmap.setOutputFileName(outfilepath);   //设置输出路径


    QPainter painter_pixmap;
    painter_pixmap.begin(&printer_pixmap);
    QRect rect = painter_pixmap.viewport();
    int multiple = rect.width()/pixmap1.width();
    painter_pixmap.scale(multiple*0.675, multiple*0.675); //将图像(所有要画的东西)在pdf上放大multiple-1倍
    painter_pixmap.drawPixmap(120, 0, pixmap1);  //画图1
    painter_pixmap.drawPixmap(120, 580, pixmap2);//画图2
    printer_pixmap.newPage();  //换页
    painter_pixmap.drawPixmap(120, 0, pixmap3);//画图3
    painter_pixmap.end();

二:比较一下Android和Qt 截屏功能的实现:<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值