Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2015, 16:17
Интересующийся
Отправить личное сообщение для WebBizMedia Посмотреть профиль Найти все сообщения от WebBizMedia
 
Регистрация: 13.01.2015
Сообщений: 11

Canvas save (пустая картинка на выходе)
Уважаемые знатоки, помогите разобраться с проблемой так как я уже свю голову сломал, ниже скрипт не мой, взял его за основу для своего проекта и перепилил под свои нужды. Всё работает отлично кроме сохранения изображения, то есть изображения сохраняется с правильными размерами и без проблем открывается, только оно пустое (полностью прозрачное). Почему я из canvas получаю "data:image/png;base64" с пустым изображением, когда оно там отрисовано и все пременяемые к нему фильтры отлично работают?
<div id="editor">
    <div class="contentsEditImg">
         <div id="placeholder"></div>
         <canvas id="canvas2d"></canvas>
          <div id="nubs" ></div>
    </div>
</div>



$('#save').click(function() {
		var canvasData = canvas.toDataURL('image/png'); 
		$.ajax({ 
		 	type:"POST", 
			url:"lib_ServerScript/SaveImages.php", 
			data:{"canvasData":canvasData},
			dataType: "application/upload",
		 	success: function(data){
				}
			});
		
		console.log(canvasData);
        
    });


if (isset($_POST['canvasData'])){
	$imageData=$_POST['canvasData'];
	$filteredData=substr($imageData, strpos($imageData, ",")+1);
	$unencodedData=base64_decode($filteredData);
	$file = fopen('pic.png',w);
	fwrite($file, $unencodedData);
	fclose($file);
	echo'ok';
}

Весь скрипт js во вложении, так как не влез в символьное ограничение.
Вложения:
Тип файла: zip imagesFX.zip (5.1 Кб, 3 просмотров)

Последний раз редактировалось WebBizMedia, 17.01.2015 в 16:21.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2015, 16:48
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

jQuery шлет POST запрос с типом application/x-www-form-urlencoded, а не multipart/form-data, поэтому для всех параметров выполняется uncodeURIComponent.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2015, 19:15
Интересующийся
Отправить личное сообщение для WebBizMedia Посмотреть профиль Найти все сообщения от WebBizMedia
 
Регистрация: 13.01.2015
Сообщений: 11

Сообщение от Octane Посмотреть сообщение
jQuery шлет POST запрос с типом application/x-www-form-urlencoded, а не multipart/form-data, поэтому для всех параметров выполняется uncodeURIComponent.
Дело не в этом.

console.log(canvasData);
выдает пустую картинку.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAooAAANsCAYAAAD cHomnAAAIt0lEQVR4nO3BMQEAAADCoPVPbQlPoAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKcBx koAAfo2fyEAAAAASUVORK5CYII=
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Canvas картинка с обесцвечиванием. cheba Общие вопросы Javascript 9 31.05.2013 09:13