Mam przypadek użycia, w którym chcę utworzyć (a) aplikację węzła, która (b) wykonuje podstawowe operacje na obrazie (zmiana rozmiaru i przycinanie PNG), ale (c) gdzie nie mogę mieć zewnętrznych zależności, takich jak biblioteki natywne , GraphicsMagick, ImageMagick, PhantonJS, Inkscape itp.Czysta manipulacja obrazem JavaScript
Wszystko to musi być wykonane w czystym JavaScript.
Biorąc pod uwagę, jak prosta jest manipulacja, którą chcę zrobić (zmiana rozmiaru PNG i przycięcie) nie wydaje się to niemożliwe. Jednak nie mogę znaleźć biblioteki przycinania/zmiany rozmiaru, która ostatecznie nie będzie miała zależności zewnętrznej lub natywnej.
Czy istnieje prawdziwie czysta biblioteka JavaScript do przycinania/zmiany rozmiaru? Jak trudno byłoby zaimplementować to w czystym JavaScript, gdybym musiał to zrobić sam? I gdzie powinienem zacząć?
Czy istnieje odpowiednia funkcja C do tego, że mogę skompilować przy użyciu emscripten, na przykład?
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=JavaScript%20librar y% 20crop% 2Fresize –
@JamesG. wszystkie świetne rzeczy, gdybym mógł użyć przeglądarki bezgłowej, takiej jak Phantom JS, implementacja DOM, na przykład js-dom. Wszystkie mają jednak zewnętrzne (natywne) zależności. –
Obsługa PNG w czystej wersji Javascript jest * możliwa * - w celu uzyskania hojnej interpretacji "możliwych". JavaScript może manipulować plikami binarnymi za pomocą ezoterycznego; dekompresowanie, a następnie * ponowne * kompresowanie danych obrazu surowego nie jest takie proste (wymaga to czystej wersji JS Flate i Deflate), ale wciąż w zakresie "do wykonania". Jednak nie wierzę, że będzie szybko. – usr2564301