QPixmap加载图片失败,有可能是图片太大

最近在做一个项目,客户给了10几张cad画的图,后缀是.dwg,需要放到我们客户端的电子地图了,他们想在图片上添加监控点,但是我们客户端只支持jpg、png、bmp、jpeg格式的图,这就需要转换图片,然而我就在这个过程中就遇到了几个坑。

cad图纸转jpg:dwg——>pdf——>jpg、png、bmp

使用工具:CAD、PS

各坑及解决方法如下:
1、cad图太大,没有换图纸尺寸,直接导出成pdf,pdf再用ps转jpg,转出来的图片很模糊,一放大就看不清楚;

2、cad图导出成pdf之前,换上更大尺寸的图纸能保证图片清晰,但转成jpg文件后大小也会变大,图片变大也会影响图片的加载;
拿我来说,为了图片更清晰,最大的一张图有20M那么大,QPixmap也能加载,但有时候一遍就加载成功了,有时候得再加载一遍才能成功,以下是代码

QPixmap m_qpix = QPixmap(QString::fromStdString(m_tag.strpath));
//QPixmap加载图片有问题,有时一遍就加载成功,有时第二遍才能加载成功,如果加载失败这里最多再做2次加载处理
if (m_qpix.isNull())
{
    m_qpix = QPixmap(QString::fromStdString(m_tag.strpath));
    if (m_qpix.isNull())
    {
        m_qpix = QPixmap(QString::fromStdString(m_tag.strpath));
        if (m_qpix.isNull())
        {
            Update_Error_Info_Slot(tr("Loading Picture Fail"));
            return;
        }
    }
}   

3、下面是我将cad图转jpg的过程

  1. 打开cad图纸,输出–>打印(Ctrl + p)–>确定,弹出如下窗口,选择pdf打印机
    这里写图片描述
  2. 在这里可以选择合适尺寸的图纸,更大的图纸可能图片会更清晰,图纸太小又会显示不全
    这里写图片描述
  3. 选择打印范围:窗口,点击窗口按钮,选中要打印的范围
    这里写图片描述
    白线为选中区域
    这里写图片描述
    点击确定,选择保存目录,稍等片刻
    这里写图片描述
  4. 在ps中打开pdf,如图,点击确定
    这里写图片描述
  5. 然后Ctrl+Shfit+S,选择保存目录和保存类型,确定即可
    这里写图片描述
    到这里,图片转换就完成了
  6. 下面是我在cad中用到的命令
    e:删除
    s:拉伸表格
    rec:设定矩形
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值