Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » html2canvas, <canvas>, сохранение jpg или png на серве

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
 
Хочу кусочек html сохранить в виде картинки на сервер
 
html:
Код:
<div id='screen' style='border:1px solid red; background-color:green; width:100px; height:100px;'></div>
<span id='seve'>Сохранить</span>
<canvas></canvas>
js:
Код:
function maket_seve(){
    var canvas = $('canvas')[0];
    var data = canvas.toDataURL('image/png').replace(/data:image\/png;base64,/, '');
    $('canvas').remove();
    $.post('saveCPic.php',{data:data}, function(rep){
        alert('Изображение '+rep+' сохранено' );
    });
}
$(function(){
    $('#seve').live('click',function(){
        html2canvas($('#screen')[0],{
            onrendered: function(canvas){
                document.body.appendChild(canvas);
                maket_seve();
            }
        });
    });
});
php: (saveCPic.php)
Код:
$name = time().'.png';
file_put_contents($name, base64_decode($_POST['data']));
echo $name;
 

Изображение сохраняется пустым, подскажите что я не так делаю.

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 08:47 13-09-2013 | Исправлено: mishakor, 08:57 13-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor

Цитата:
base64_decode(str_replace(' ', '+', $_POST['data'])))

так попробуйте

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 08:57 13-09-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
никаких изменений, также пустая картинка

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 09:04 13-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor
ну так посмотрите логи браузера - в каком виде и что он отправляет
 
может вы пустую и отправляете )
 
если бы проблемы была с кодированием и так далее, то открытие картинки дало бы ошибку.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:05 13-09-2013 | Исправлено: Cheery, 09:06 13-09-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Исходный код
data=iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAxUlEQVR4nO3BMQEAAADCoPVPbQh
foAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO
A1v9QAATX68%2F0AAAAASUVORK5CYII%3D
 
Параметры: application/x-www-form-urlencoded
data    iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAxUlEQVR4nO3BMQEAAADCoPVPbQhfoAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAATX68/0AAAAASUV
ORK5CYII=
 

 
это фаербаг показывает, да и так проверял, переменная $_POST['data'] не пустая

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 09:22 13-09-2013 | Исправлено: mishakor, 09:23 13-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor
ну так картинка изначально пустая )  
ваши данные - пустая картинка..
 
у вас в канвасе рисунок то есть?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:33 13-09-2013 | Исправлено: Cheery, 09:33 13-09-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
начал экспериментировать.
И наткнулся на такую особенность, первый раз нажимаю на "Сохранить" выдаётся сообщение что картинка сохранена, смотрю картинку она пустая
второй раз без перезагрузки страницы нажимаю "Сохранить", на этот раз картинка уже нормальная
 
чот я не пойсу что происходит

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 09:56 13-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor

Цитата:
чот я не пойсу что происходит

скорее всего первый раз вызывается до отрисовки канваса.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:59 13-09-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
понял, у меня в html присутствет канвес, + к тому что он в яве ещё в конец документа добавляется, и потому я на сервак отправляю из первого канвеса, пустую картинку, затем remove его, а при следующем клике берётся уже тот самый в котором картинка
 
благодарю за наводку, конец недели, туговато соображается

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 10:36 13-09-2013
olgamaster

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
*

Всего записей: 8 | Зарегистр. 20-08-2013 | Отправлено: 11:53 19-09-2013 | Исправлено: olgamaster, 14:25 26-01-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » html2canvas, <canvas>, сохранение jpg или png на серве


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru