È possibile ottenere la larghezza e l'altezza di un'immagine in node.js (sul lato server, non sul lato client)? Devo trovare la larghezza e l'altezza di un'immagine in una libreria node.js che sto scrivendo.Ottieni la larghezza e l'altezza di un'immagine in node.js
risposta
Sì, questo è possibile ma è necessario installare GraphicsMagick o ImageMagick.
Ho usato entrambi e posso consigliare GraphicsMagick è molto più veloce.
Una volta installato sia il programma che è module, si otterrebbe qualcosa di simile per ottenere la larghezza e l'altezza.
gm = require('gm');
// obtain the size of an image
gm('test.jpg')
.size(function (err, size) {
if (!err) {
console.log('width = ' + size.width);
console.log('height = ' + size.height);
}
});
In questo caso, come posso scrivere una funzione che restituisce 'size.width' per una determinata immagine e richiamare quella funzione al di fuori della callback? –
Inoltre, ecco una domanda correlata: http://stackoverflow.com/questions/12540405/how-can-i-specify-the-order-in-which-node-js-functions-are-evaluated –
Ho fornito un rispondi ad altre domande a cui ti sei collegato. – saeed
Installazione GraphicsMagick
o ImageMagick
non è affatto necessario, la determinazione delle dimensioni di un'immagine è facile come guardare l'intestazione. image-size
è una pura implementazione javascript di detta funzione che è molto facile da usare.
https://github.com/netroy/image-size
var sizeOf = require('image-size');
sizeOf('images/funny-cats.png', function (err, dimensions) {
console.log(dimensions.width, dimensions.height);
});
Questa dovrebbe essere la risposta accettata semplicemente perché gm/im ha molto più overhead del necessario per questa attività. –
C'è un [bug nella dimensione dell'immagine] (https://github.com/netroy/image-size/issues/37). L'ho appena vissuto in produzione. GraphicsMagick non ha lo stesso bug. – paldepind
Calibri è un'altra libreria puro JavaScript in grado di determinare le dimensioni delle immagini.
https://github.com/nodeca/probe-image-size
problema Più interessante è "come rilevare le dimensioni dell'immagine senza download completo di file da un server remoto". probe-image-size
aiuterà. Di causa, supporta anche flussi locali.
È scritto in JS puro e non richiede alcuna dipendenza pesante (ImageMagick e così via).
var sizeOf = require('image-size');
sizeOf(my_file_item.completeFilename, function (err, dimensions) {
try{
if(!err){
let image_dimensions = dimensions || "";
let width = 200; // we want 200
let height = parseInt(width/(image_dimensions.width/image_dimensions.height));
}else{
}
// console.log(ex);
}catch(ex){
}
});
- 1. Ottieni la larghezza di CardView in Adapter.onBindViewHolder
- 2. Ottieni la funzione nome e linea di chiamata in node.js
- 3. Ottieni la larghezza dell'immagine caricata in JavaScript
- 4. Ottieni la larghezza del testo in MFC
- 5. Ottieni la larghezza massima di uinavigationItem.titleView?
- 6. larghezza Get di terminale Node.js
- 7. Ottieni larghezza e altezza di una riga in RecycleView - Android
- 8. XNA: ottieni larghezza e altezza dello schermo
- 9. Ottieni altezza e larghezza dell'immagine PHP
- 10. Ottieni la password dall'input usando node.js
- 11. Ottieni l'ISP di un IP in node.js
- 12. Ottieni altezza e larghezza della cella TableLayoutPanel in Windows Form
- 13. Ottieni larghezza e altezza dei componenti in Vista frammento
- 14. AutoLayout di iOS - ottieni la dimensione della cornice larghezza
- 15. Ottieni la larghezza di un'estensione oggi per iOS
- 16. Ottieni avanzamento download in Node.js con richiesta
- 17. Ottieni il percorso completo dell'applicazione in Node.js
- 18. Ottieni contenuto URL in Node.js con Express
- 19. Node.js - Ottieni il numero di processori disponibili
- 20. Ottieni altezza e larghezza dell'immagine come valori interi?
- 21. Ottieni l'ID istanza corrente di app-engine in node.js
- 22. Riduci l'altezza e la larghezza di ImageSpan
- 23. Ottieni un percorso completo di file in node.js
- 24. Ottieni l'output di un comando shell in node.js
- 25. Node.js HTTP Ottieni limite lunghezza URL
- 26. Ottieni larghezza e altezza del browser dopo che l'utente ridimensiona la finestra
- 27. Ottieni info_critte in Node.js (Express) App Facebook Canvas
- 28. Ottieni la larghezza di un singolo carattere da ttf-font in php?
- 29. Ottieni i dati neDB node.js in una variabile
- 30. Aumentare la larghezza e l'altezza dell'output gnuplot
Questo sembra essere un duplicato (e qualcuno ha trovato già una risposta): http://stackoverflow.com/questions/5530946/opening-images-on-nodejs-and-finding-out-width-height –