2012-08-02 85 views
0

我正在研究一個包含在線商店的項目,以銷售印刷電路板。 但孔系統將自動化,並且能夠在線查看Gerber文件(Gerber是具有pcb機器碼的文件)。呈現和保存圖像的最佳方式

我需要選擇將用戶上傳的這個文件「輸出」到網頁的最佳方式。僅在購買前查看PCB。

我已經完成了整個PHP代碼來處理格柏,但是,我不能決定,如果該文件將被proccesed,然後:

  • 我將保存爲PNG文件(渲染會使用PHP圖像庫{這是一個狗屎}),如果用戶放大或做任何事情,它不會是完美的...(我需要以高分辨率渲染,並會佔用大量的空間,並且還需要加載時間)
  • 渲染爲SVG文件(矢量文件),並在HTML上顯示爲mbeded元素(它是否適用於所有新瀏覽器?是否進行緩慢處理?),SVG文件是在繪製線條方面有點...
  • 最後但並非最不重要的方法是創建一個JavaScript命令列表,它使用Canvas元素(我已經實現了這一點,並且工作得很好,但我不喜歡想,我'm actualy'呈現'爲代碼...)

無論如何,你認爲我應該使用什麼,如果我不以另一種方式去做,請告訴我!

這裏是輸出作爲畫布的示例(與源是JavaScript函數對象,具有許多的drawLine命令):

enter image description here

回答

0

我選擇了SVG文件,即使它是比canvas慢,但考慮到用戶與繪圖對象的交互不會實時繪製過程,這是一個不錯的選擇。 SVG實際上是矢量,因此圖像在大圖像上不會很脆。有一些相當不錯的圖書館在那裏它們與SVG-就像工作:

http://processingjs.org

http://d3js.org/

http://fabricjs.com/

http://raphaeljs.com/

我覺得D3是最好的之一。我絕對不會推薦PHP圖像庫。

+0

我將使用SVG。你認爲在瀏覽器上渲染具有不同大小的SVG會花費很多過程,而且速度太慢嗎? – 2012-08-02 20:17:06

+0

當您使用svg時,您需要考慮圖像大小。由於SVG是大圖像大小的矢量圖形,它可能會使渲染過程變慢。 – 2012-08-03 04:52:36