35 votes

Quels packages sont disponibles pour que node.js effectue un recadrage d’image?

Je suis en création d'un site web à l'aide de node.js. J'ai vu beaucoup de bibliothèques mentionné que piggy back sur le haut de imagemagick etc. Il y a une liste ici: https://github.com/ry/node/wiki/modules#graphics

Ce que j'essaie de faire est de prendre l'image que l'utilisateur télécharge, de la recadrer/taille de certaines dimensions du site nécessite. Quel est le meilleur/le plus actif de script pour faire cela? Je voudrais un avec npm soutien. Quelqu'un aurait-il l'expérience réelle à l'aide de certains de ces produits?

26voto

Travis Points 2419

Pensez que j'ai trouvé un bon emballage pour imagemagick qui peut très bien gérer ça. Même en mémoire avant d'écrire le fichier sur le disque. (aka upload utilisateur -> noeud imagemagick lib -> cdn et ne touchant jamais le disque ... ce que je veux)

https://github.com/rsms/node-imagemagick

20voto

sak Points 336

Pour tous ceux qui essaient de choisir entre Canvas et ImageMagick, je viens d’essayer les deux à des fins de comparaison, et imagemagick obtient de bien meilleurs résultats. Voici une image redimensionnée et recadrée de 1024x768 à 128x128:

http://i.imgur.com/tfeft.png

6voto

Tyler Larson Points 161

Si vous avez besoin de savoir dessiner ou faire des effets sur vos photos peut-être que vous aurez toujours besoin de toile ou ImageMagick, mais en termes de vitesse et l'utilisation de la mémoire il y a un peu de meilleures options.

Voici un benchmark des différentes bibliothèques d'images.

http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use

ImageMagick est lent et consomme beaucoup de mémoire. Essayez Vip https://github.com/dosx/node-vips

4voto

RandomEtc Points 1321

J'ai utilisé le nœud de la zone de travail de la LearnBoost gens - https://github.com/learnboost/node-canvas ou npm install canvas - ils sont très à l'écoute des problèmes et que la bibliothèque est bien écrit et stable. Je ne pense pas que vous pouvez créer une image à partir de la mémoire encore, mais si le nœud-imagemagick ne fonctionne pas pour vous, alors il serait intéressant d'essayer.

Si vous êtes familier avec le navigateur côté de la toile API, il doit être simple pour créer une image à partir d'un fichier et de le mettre dans une petite toile. Il y a un exemple ici:

https://github.com/LearnBoost/node-canvas/blob/master/examples/resize.js

Si vous êtes familier avec le C++, il est assez facile d'ajouter des méthodes pour les objets natifs, le projet de construction proprement pour moi sur Mac OS première fois. La documentation pour le caire, la bibliothèque graphique que les pouvoirs nœud-toile, est tout à fait clair aussi. Je voudrais prendre un coup d'oeil à la charge des fonctions de l'Image de l'objet pour voir si il y a un moyen de les charger à partir d'un Nœud Tampon:

https://github.com/LearnBoost/node-canvas/blob/master/src/Image.h

https://github.com/LearnBoost/node-canvas/blob/master/src/Image.cc

Bonne chance!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X