Se mi ricordo bene si può anche fare tutto in js leggendo l'immagine con FileReader e mostrandola in una canvas. Poi ci fai le operazioni che devi farci e poi salvi il contenuto della canvas.