美文网首页
PHP绘制SVG工程图纸

PHP绘制SVG工程图纸

作者: PHP的点滴 | 来源:发表于2020-10-29 23:25 被阅读0次

需求:根据客户选择产品的可选配置,绘制对应的工程图纸;
1.图纸支持放大缩小不变形
2.绘制侧面三个面(记 A、B、C 面),来绘制平视图
3.绘制俯视图(记 D 面),并且包含半弧形等形状
4.工程图纸中有长宽高等标注信息
5.图形中设置的每个组件,可能每款的参数都不一样,最后的成品要动态生成
6.最终SVG还要能集成到PDF中,并“自动”横竖屏布局等
7.添加扇形开门动画等功能(这个是我后来自己添加上去的)

效果图 A B C 面-平视图 效果图D面-俯视图

图中的所有的尺寸,都是可变的,线条都是绘制出来的;

方案

接到需求的第一想法,就是使用SVG来实现成品的绘图;
SVG(Scalable Vector Graphics)可缩放的矢量图形,它是基于XML正好可以满足需求;当然H5操作的话,会更方便哦。
不过当前项目,我是完全用PHP绘制的!

问题点

1.对SVG的语法还是0基础
2.时间紧迫,加上其他业务功能的开发也就2个星期的时间(目前公司没有测试,自己还要测试)
3.虽然觉得SVG方案可行,但是网上也没有搜索到类似的PHP实现的案例,心理还是有点“慌”
4.后来发现,把SVG集成到PDF中,SVG的某些属性失效了,到时PDF中比较难看(比如 marker 标签,textPath 等,好几处坑再等着,具体忘记了)
5.比较麻烦的点,还要了解产品的基本结构

总结

使用PHP绘制工程图,还是很有意思的,也很有挑战的。
绘制复杂工程图,不仅要画出图来,还要方便自己维护(我大概写了40多个处理类,来分别处理不同的对象)。
这里面设计到坐标计算比较复杂,要有耐心了解产品结构和静心调试!

相关文章

  • PHP绘制SVG工程图纸

    需求:根据客户选择产品的可选配置,绘制对应的工程图纸;1.图纸支持放大缩小不变形2.绘制侧面三个面(记 A、B、C...

  • 无标题文章

    SVG svg和canvas的区别 svg绘制的是矢量图, canvas绘制的是位图 svg使用XML来绘制图片,...

  • H5 新特性05

    SVG svg与canvas的区别 canvas绘制的是位图, svg绘制的是矢量图 canvas使用Ja...

  • Iconfont应用规范

    SVG图标绘制 一、图标绘制范围 绘制工具:AI、SKETCH 另外不建议使用PS,因为虽然PS也可以导出SVG,...

  • iOS-加载SVG类型的图片并且实现可点击长按功能

    首先介绍下该项目实现了那些功能 svg图片数据解析 绘制svg图片 svg图片按照区域设置不同颜色绘制图片.png...

  • SVG用法

    常见引入svg的方法 .svg文件的常见结构: html页面中绘制svg的常见方法: 关于SVG的viewBox:...

  • SVG

    SVG 绘制长方形绘制圆形绘制椭圆 绘制直线 绘制折线 绘制多边形 ...

  • 技巧分享:使用SVG设计可灵活修改的曲线分割网页效果。

    本文介绍如何使用图形绘制工具(sketch、AI)绘制图形并拷贝SVG代码,使用Coolsite360插入SVG组...

  • svg

    svg双闭合标签,默认宽高300*150 必须在svg标签内绘制图形 画线 line 绘制折线 polyline...

  • 2019-03-17 svg渲染出现resize后数据未绑定的问

    可以先把找到这个svg,然后把svg通过remove的方式从div中移除。然后重新绘制svg,并且重新绑定svg的...

网友评论

      本文标题:PHP绘制SVG工程图纸

      本文链接:https://www.haomeiwen.com/subject/saalvktx.html