Сорцы: https://github.com/nodeca/pica
Демка: http://nodeca.github.io/pica/demo/
Кто пытался ресайзить картинки канвасом, уже в курсе, что канвас оптимизирован на скорость и использует nearest neighbor интерполяцию. А если надо урезать осетра перед закачкой на форум, то такое качество неприемлимо. Поэтому написали свой лисапед, с которым можно поиграться по ссылкам.
Код, к сожалению, уступает С-шному по скорости, т.к. яваскрипт пока не поддерживает SIMD. Но фигачит все равно очень бодро. И точно быстрее всего что я смог найти. Ну и все это с нормальным апи и запакетировано, чтобы можно было юзать из коробки и не париться.
Из нюансов - не учитывается гамма-коррекция (RGB <-> sRGB), т.к. из канваса принципиально невозможно извлечь, чего он там нашаманил с гаммой. Но в принципе разницу заметят только профессиональные фотографы, а не любители котиков.
Пока в раздумьях, стоит ли расковыривать jpeg вручную, чтобы повысить точность до 16 бит на канал за счет гаммы.
Enjoy!