Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   СОхранение изображения (https://javascript.ru/forum/misc/3907-sokhranenie-izobrazheniya.html)

Ensiferum 04.06.2009 17:33

СОхранение изображения
 
есть изображение в тэге <img>. Через jQuery i Pixastic на него накладываются эфекты - яркость, размытие т.д. Как затем полученное изображение сохранить? Погуглив, наткнулся на элемент canvas, но толком разъяснений не нашел. Мне в принципе нужно только через AJAX передать base64 строку картинки. Если кто поможет примером - буду признателен.:yes:

Octane 04.06.2009 17:54

Скорее всего кросс-браузерно не получится сделать. Можно попробовать запомнить, какие фильтры применялись к изображению и отправить информацию на сервер, а там уже попытаться сделать тоже самое над исходным изображением.

Ensiferum 04.06.2009 18:06

На PHP так работать с картинками может лишь класс Imagick. Но не идет по умолчанию в PHP.

Octane 04.06.2009 18:50

На стороне клиента для браузеров, поддерживающих Canvas, можно закодировать в base64 как-то так:
var canvas = document.createElement("canvas");
canvas.width = "…px";
canvas.height = "…px";
var context = canvas.getContext("2d");
// далее отрисовываем изображение в context
var base64Data = context.getImageData(); // получаем закодированное изображение

Но не уверен что во всех браузерах работает метод getImageData.

А как сделать для Internet Explorer без понятия.

Подробнее про Canvas можно почитать здесь.

Ensiferum 04.06.2009 20:57

Нужно без канвасов. 80% юзеров сидят на ИЕ и приходится писать под него. Канвасы частично поддерживаются при подключении js-библиотеки от гугла, но не .getImageData не .toDataURL всё равно не поддерживаются.

Как ещё можно?


Часовой пояс GMT +3, время: 14:24.