Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/30: Рейтинг темы: голосов - 30, средняя оценка - 4.77
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
1

Отправка содержимого <canvas> на сервер

03.09.2010, 22:31. Показов 6274. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как отправить содержимое <canvas> (HTML 5) на сервер?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2010, 22:31
Ответы с готовыми решениями:

Отправка содержимого формы на сервер нажатием быстрой комбинации клавиш
Всем доброго времени суток! Подскажите, пожалуйста, каким образом можно реализовать следующую...

Отправка содержимого CANVAS на E-Mail
Добрый вечер! Срочно нужно решить проблему: есть рисовалка на CANVAS и кнопка отправки. Нужно...

Отправка содержимого поля в файл при нажатии кнопки без потери этого содержимого с поля
Привет всем!) Я отправляю содержимое textarea в файл при нажатии кнопки, после нажатия на кнопку...

Преобразование содержимого Canvas в Image
Доброго времени суток! Я занимаюсь разработкой программы, отображающей различные графики, на языке...

9
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
03.09.2010, 23:03 2
У канв есть метод .getImageData(), который возвращает объект типа ImageData.
Этот объект имеет свойства width & height, а также свойство data, которое по сути дела является массивом чисел.
Думаю, что эти данные можно легко передавать ajax-ом, кодируя объект ImageData через json.
1
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
06.09.2010, 15:31  [ТС] 3
а можно код отправки на JS и PHP?
0
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
06.09.2010, 18:46 4
Цитата Сообщение от Kidalvь Посмотреть сообщение
а можно код отправки на JS и PHP?
Сегодня - вряд ли.
Завтра поэкспериментирую. О результатах сообщу.
1
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
07.09.2010, 13:23 5
Результаты: полет нормальный

Исходник в приложении.

Примечания:

Сразу говорю, что мое творение - это чисто для подтверждения возможностей передачи содержимого canvas на сервер и обратно. Очень многое надо дошлифовывать и дорабатывать.

Самое существенное, что надо учитывать - это размер файла картинки. Поскольку не используется никакая компрессия, то в моем примере для картинки 100х100 пикселей получается файл размером почти 100КБ. Однако, это дело поправимо, если еще на стороне сервера кодировать картинку в формат PNG.

Также следует предусмотреть возможные траблы с загрузкой на сервер и обратно.
Например, PHP-хостинг часто ограничивает максимальный размер POST-данных через настроку php.ini
И еще, при таких объемах данных большие картинки будут загружаться долго. Поэтому есть смысл подумать о загрузке картинки кусками и о показе пользователю состояния загрузки (прогрессбар какой-нибудь).
Вложения
Тип файла: zip canvas.zip (6.7 Кб, 233 просмотров)
2
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
07.09.2010, 13:26 6
И да, я использовал jQuery для удобства работы с AJAX. Если нет понятия что это и как, то спрашивайте.
1
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
07.09.2010, 15:37 7
На буржуинском форуме наткнулся на интересный способ избавиться от "синдрома" больших файлов. Новый вариант использует компрессию PNG прямо на стороне клиента перед отправкой на сервер.

Но. Сразу оговорюсь - вряд ли это можно считать 100% безопасным и надежным методом, так как этот способ базируется на "уверенности", что после конвертации картинки в PNG формат, ее данные будут зашифрованы по алгоритму base64.

Хотя, надо отметить, работает в десятки раз быстрее
Вложения
Тип файла: zip canvas2.zip (19.4 Кб, 250 просмотров)
2
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
23.03.2011, 15:47  [ТС] 8
Вроде отправляется, но сохраняется в то, что не может распознаться как изображение в формате PNG.
Как сделать так, чтобы распознавалось?
0
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
28.03.2011, 17:19  [ТС] 9
Решено. Функция base64_decode().
0
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 9
07.12.2017, 16:08 10
Решено. Функция base64_decode().
Можно посмотреть вариант?
0
07.12.2017, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2017, 16:08
Помогаю со студенческими работами здесь

Сохранение содержимого Canvas в PNG
Здравствуйте!Пишу редактор графов,хочу добавить возможность сохранения созданного графа в качестве...

Прокрутка в canvas при выходе содержимого за пределы
Доброго временни суток. Возникло несколько проблем: Есть Canvas на форме. Предполагается...

Canvas и PHP, Отправка картинки на почту
В общем, еле еле сделал так, что бы текст картинки декодировался и сохранялся на сервере, при этом...

Разработать приложение для вывода содержимого компонента класса TMemo на печать с использованием функции Canvas
Разработать приложение для вывода содержимого компонента класса TMemo на печать с использованием...

Разработать приложение для вывода содержимого компонента класса TMemo на печать с использованием функции Canvas
Разработать приложение для вывода содержимого компонента класса TMemo на печать с использованием...

Отправка содержимого Memo на email
как сделать так что бы данные из Edit1.text отправлялись на электронную почту майл.ру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru