Это должно быть сделано на стороне сервера. Одна вещь Вы могли бы посмотреть на выполнение, позволяет всему редактированию идти на сторону клиента, и затем в конце POST заключительное изображение (через Ajax) к серверу, чтобы позволить ему возвращать его Вам как корректный тип MIME, и правильно упакованный.
Можно хотеть проверить Processing.js. John Resig известности jQuery записал это. Это поддерживает пиксельную обработку, к сожалению, только Firefox 3 может обработать его достаточно.
Некоторые браузеры поддерживают холст: http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas
Можно вообразить ряд инструментов JS, которые позволят пользователю определять, какое преобразование он хочет сделать, но заключительная работа преобразования ДОЛЖНА быть сделана на стороне сервера. JS на стороне клиента не может создать файл из соображения безопасности.
Также взгляд на данные URIs (хотя версии IE ниже 8 не поддерживают их, к сожалению!)
Локальная обработка изображения в JavaScript должна быть возможной - взглянули на Защитника Favicon.;-) Вопрос состоит в том, как получить исходное изображение от файловой системы в Вашу страницу (я не знаю ни о каком другом пути, чем выполнение HTTP загружает на сервер сначала).
Попробуйте Изображение Allicorn Retargetter - это кажется, что это - то, что Вы ищете.