Ho un caso d'uso in cui voglio creare (a) un'applicazione Node che (b) esegue manipolazioni di base dell'immagine (ridimensionamento e ritaglio PNG) ma (c) dove non posso avere dipendenze esterne come librerie native , GraphicsMagick, ImageMagick, PhantonJS, Inkscape, ecc.Pure JavaScript image manipulation
Tutto ciò deve essere fatto in puro JavaScript.
Dato quanto semplice sia la manipolazione che voglio fare (solo ridimensionare e ritagliare PNG), ciò non sembra impossibile. Tuttavia, non riesco a trovare una libreria di ritaglio/ridimensionamento che in definitiva non abbia una dipendenza esterna o nativa.
Esiste una libreria JavaScript autenticamente pura per il ritaglio/ridimensionamento? Quanto sarebbe difficile implementare questo in puro JavaScript, se dovessi farlo da solo? E dove dovrei iniziare?
In alternativa, c'è una funzione C adatta per questo che potrei compilare usando emscripten, ad esempio?
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=JavaScript%20librar y% 20crop% 2Fresize –
@JamesG. tutte cose grandiose se potessi usare un browser headless, come Phantom JS, un'implementazione DOM, come js-dom. Tuttavia, hanno tutti dipendenze esterne (native). –
La gestione dei file PNG in puro Javascript è * possibile * - per un'interpretazione generosamente ampia di "possibile". Javascript può manipolare file binari con eaze; decomprimere e quindi * ri-comprimere i dati grezzi delle immagini non è così facile (questo richiede una versione JS pura di Flate e Deflate), ma comunque all'interno del regno di "fattibile". Tuttavia, non credo che sarà veloce. – usr2564301