最近在做一个项目,客户给了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的过程
- 打开cad图纸,输出–>打印(Ctrl + p)–>确定,弹出如下窗口,选择pdf打印机
- 在这里可以选择合适尺寸的图纸,更大的图纸可能图片会更清晰,图纸太小又会显示不全
- 选择打印范围:窗口,点击窗口按钮,选中要打印的范围
白线为选中区域
点击确定,选择保存目录,稍等片刻
- 在ps中打开pdf,如图,点击确定
- 然后Ctrl+Shfit+S,选择保存目录和保存类型,确定即可
到这里,图片转换就完成了 - 下面是我在cad中用到的命令
e:删除
s:拉伸表格
rec:设定矩形