2012-08-02 4 views
0

Je travaille sur un projet qui consiste en un magasin en ligne, pour vendre des cartes de circuits imprimés. Mais le système de trous sera automatisé, et sera en mesure d'afficher en ligne les fichiers Gerber (Gerber sont les fichiers qui ont le code machine pour la carte).Meilleure façon de rendre et enregistrer des images

Je dois choisir la meilleure façon de "sortir" ce fichier téléchargé par l'utilisateur, vers la page Web. Seulement pour visualiser le PCB avant d'acheter.

Je l'ai fait tout le code PHP pour traiter le Gerber, mais je ne peux pas décider si le fichier sera proccesed, puis:

  • j'enregistrer dans un fichier PNG (le rendu sera fait avec la bibliothèque d'images PHP {c'est une merde}), et si l'utilisateur zoome, ou fait quoi que ce soit, ce ne sera pas parfait ... (il faudrait que je rende en haute résolution, et prendrait beaucoup de place , et aussi le temps de charger)
  • Rendu comme un fichier SVG (fichier vectoriel), et afficher sur le HTML en tant qu'élément mbeded (Fonctionne-t-il sur tous les nouveaux navigateurs? Est-il lent à traiter?), Le fichier SVG sont génial en termes de lignes de dessin ...
  • Et le dernier mais pas le moindre moyen de faire, est de créer une liste de commandes JavaScript, qui s'inspire d'un élément Canvas (j'ai déjà mis en œuvre cela, et fonctionne vraiment bien, mais je n'aime pas penser, que je « m actualy « rendu » un code ...)

quoi qu'il en soit, que pensez-vous que je devrais utiliser, et si je ne l'ai pas tought d'une autre façon de le faire, s'il vous plaît dites-moi!

Voici un exemple de la sortie comme toile (avec la source étant un objet de fonction JavaScript, qui a de nombreuses commandes de DrawLine):

enter image description here

Répondre

0

J'opte pour le fichier SVG, même si elle est plus lent que canvas, mais étant donné que ce ne sera pas le processus de dessin en temps réel en termes d'interaction de l'utilisateur avec l'objet de dessin, c'est un bon choix. Les SVG sont en fait des vecteurs, donc les images ne seront pas croustillantes sur les grandes images. Il y a quelques très bonnes bibliothèques là-bas qui travaillent avec svg-s comme:

http://processingjs.org

http://d3js.org/

http://fabricjs.com/

http://raphaeljs.com/

Je pense que d3 est l'un des meilleurs. Je ne recommanderai certainement pas la bibliothèque d'images PHP.

+0

Je vais utiliser SVG. Pensez-vous que le rendu de SVG avec des tailles différentes sur le Browser coûte beaucoup de processus, et sera trop lent? –

+0

Vous devez prendre en compte la taille de l'image lorsque vous travaillez avec svg. Parce que le SVG est un graphique vectoriel pour les grandes tailles d'image, il peut ralentir le processus de rendu un peu. –

Questions connexes