canvas - для манипуляций с растром.
А вот с отправкой готового jpg на сервер будут сложности, надо покумекать. Быть может есть смысл передавать инфу в промежуточном формате на сервер а ужимать в jpeg уже там.
Трансформация битмапа в jpeg на стороне клиента силами javaScript, представляется мне как минимум неординарной задачей, а точнее фантастическим гемороем в последней стадии.
А может быть вообще все манипуляции с изображением уместнее делать на стороне сервера.