fengyuanchen jQuery cropper插件 - 如何获得裁剪帆布

Hit*_*ori 2 javascript jquery html5 jquery-plugins

如何使用我自己的按钮裁剪图像?

我试着执行这个

var canvas = $selector.cropper('getCroppedCanvas')
Run Code Online (Sandbox Code Playgroud)

但它返回空值.

有没有办法得到裁剪的帆布?如何将裁剪的画布数据放入<input type="file">值并将其发送到PHP?

vik*_*ngh 6

您的选择器应该是包含图像的HTML容器:Javascript和HTML应如下所示:

$img = $('#uploader-preview');

$img.cropper('getCroppedCanvas');
var canvaURL = canvas.toDataURL('image/jpeg'); // it returns the cropped image / canvas
Run Code Online (Sandbox Code Playgroud)
<img src="" id="uploader-preview">
Run Code Online (Sandbox Code Playgroud)

将画布图像发送到PHP:

var photo = canvas.toDataURL('image/jpeg');                
$.ajax({
  method: 'POST',
  url: 'photo_upload.php',
  data: {
    photo: photo
  }
});

Here's PHP Script
photo_upload.php

<?php
	
	$data = $_POST['photo'];
	list($type, $data) = explode(';', $data);
	list(, $data)      = explode(',', $data);
	$data = base64_decode($data);

	mkdir($_SERVER['DOCUMENT_ROOT'] . "/photos");

	file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/photos/".time().'.png', $data);
	die;
?>
Run Code Online (Sandbox Code Playgroud)