@iolon

Скриншоты в web — html2canvas. Как сохранить в JPG?

Как сохранить картинку в JPG? Сохранить в png - без проблем!

Пересмотрел массу материала, все в png. Бьюсь уже несколько часов.

Мой код для png


function capture() {
	// отобразим поля для печати
	$(".specitnamerightcolumn").show();
	$("#hiddenrightcolumn").show();
	$("#bottomsign").show();
	//$("tr.daytitles").next("tr").next("tr").next("tr").hide();
	$("tr.daytitles").parent().find("tr:gt(21)").hide();
	html2canvas($('#tocanvas'), {
		/*backgrounnd:'#fff',*/
		onrendered: function (canvas) {
			
			//Set hidden field's value to image data (base-64 string)
			$('#img_val').val(canvas.toDataURL("image/jpg"));
			//Submit the form manually
			document.getElementById("myForm").submit();
		}
	});
// }

front-end:


<div>
	<input type="submit" value="PNG для печати" onclick="capture();" /><form method="POST" enctype="multipart/form-data" action="./canvas/save2canvas.php" id="myForm">
	    <input type="hidden" name="img_val" id="img_val" value="" /></form>
</div>

php-страница вывода скриншота


<?
//save.php code
 
//Show the image echo ''.$_POST%5B'img_val'%5D.'';
echo ''.$_POST%5B'img_val'%5D.'';
 
//Get the base-64 string from data
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1);
 
//Decode the string
$unencodedData=base64_decode($filteredData);
 
//Save the image
file_put_contents('img.jpg', $unencodedData);

  • Вопрос задан
  • 6265 просмотров
Решения вопроса 1
@Bahus85


$('#img_val').val(canvas.toDataURL("image/jpg"));

Поменяй MIME type на "image/jpeg".

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы