Php 渲染和保存图像的最佳方法

Php 渲染和保存图像的最佳方法,php,web-applications,canvas,svg,rendering,Php,Web Applications,Canvas,Svg,Rendering,我正在从事一个由在线商店组成的项目,销售印刷电路板。 但是孔系统将是自动化的,并且能够在线查看Gerber文件(Gerber是包含pcb机器代码的文件) 我需要选择最好的方式“输出”这个文件由用户上传到网页。仅用于购买前查看PCB 我已经完成了处理Gerber的全部PHP代码,但是,我无法决定是否处理该文件,然后: 我将另存为PNG文件(渲染将使用PHP图像库{that is a shit}完成),如果用户缩放或执行任何操作,它将不是完美的。。。(我需要以高分辨率进行渲染,并且需要占用大量空间

我正在从事一个由在线商店组成的项目,销售印刷电路板。 但是孔系统将是自动化的,并且能够在线查看Gerber文件(Gerber是包含pcb机器代码的文件)

我需要选择最好的方式“输出”这个文件由用户上传到网页。仅用于购买前查看PCB

我已经完成了处理Gerber的全部PHP代码,但是,我无法决定是否处理该文件,然后:

  • 我将另存为PNG文件(渲染将使用PHP图像库{that is a shit}完成),如果用户缩放或执行任何操作,它将不是完美的。。。(我需要以高分辨率进行渲染,并且需要占用大量空间和加载时间)
  • 呈现为SVG文件(矢量文件),并在HTML上显示为嵌入元素(它在所有新浏览器上都有效吗?处理速度慢吗?)
  • 最后一个但并非最不重要的方法是创建一个JavaScript命令列表,它在画布元素上绘制(我已经实现了这一点,效果非常好,但我不想认为我实际上是在“渲染”代码…)
不管怎样,你认为我应该用什么,如果我没有用另一种方法,请告诉我

下面是一个输出为画布的示例(源代码是一个JavaScript函数对象,它有许多drawLine命令):


我选择SVG文件,即使它比
画布
慢,但考虑到用户与绘图对象的交互不会是实时绘图过程,这是一个不错的选择。SVG实际上是向量,因此在大型图像上图像不会清晰。有一些非常好的库正在使用svg-s,如:


我认为d3是最好的之一。我绝对不会推荐PHP图像库。

我会使用SVG。你认为在浏览器上渲染不同大小的SVG会耗费大量的进程,而且会太慢吗?当你使用SVG时,你需要考虑图像的大小。由于SVG是一种用于大图像大小的矢量图形,因此可能会大大降低渲染过程的速度。