2010-09-01 3 views
4

Есть ли способ изменить размер изображения с помощью JavaScript? Я не говорю об изменении DOM, чтобы изменить размер изображения в браузере. Я действительно хочу изменить размер пиксельных данных изображения, а затем отобразить это.Bicubic-ly Resize Изображения с Javascript

В основном моя проблема заключается в том, что Firefox полностью терпит неудачу при уменьшении изображений с помощью нежных функций, поскольку он имеет только Nearest Neighbor and Binlinear. У каждого другого браузера, даже IE, есть поддержка Bicubic. Там есть talk, который будет включен в ближайшее время, но этот разговор продолжается уже более года.

Я не против загрузки полноразмерных изображений, потому что я хочу, чтобы они загрузились в любом случае. Когда пользователь нависает над небольшой версией изображения, большая версия сразу появляется в другом месте на странице. Если бы я сделал изменение размера на стороне сервера, мне пришлось бы загружать BOTH копии изображений, которые приведут к еще большему количеству трафика. Если нет другого способа обхода, то это то, что мне нужно делать ... Я просто не хочу.

+1

Значит, вам это нужно только для Firefox или другого браузера с поддержкой холста? –

+0

Сайт, как у меня, выглядит хорошо во всем, кроме FF (даже последняя версия). И это прямое следствие того, что FF не предлагает возможности бикубического (или лучшего) изменения размера. – colithium

+0

Я провел некоторое время с Google, надеясь найти какой-то код, который можно «просто преобразовать», но мне не повезло. Это секретный секрет? –

ответ

1

Это возможно. Вы получаете изображение в том же домене, записываете на холст, а затем манипулируете пиксельными данными (сложно, но возможно, я уверен), а затем либо используйте это, либо выведите как png/gif/jpg ... НО ... Я не думаю, что вы найдете, что лучший способ сохранить нежные функции что CSS.

+0

Во всех других браузерах измененное изображение выглядит идеально, потому что эти браузеры используют что-то лучше, чем билинейная интерполяция - деликатный функции сохранены. Это просто огромный недостаток FF, с которым я пытаюсь работать. – colithium

+2

Для реализации различных алгоритмов, которые выполняют именно то, что упоминалось выше, см. Здесь: http://jsperf.com/pixel-interpolation/2 – Daniel

 Смежные вопросы

  • Нет связанных вопросов^_^