php配置文件画布,如何通过php脚本将画布保存为localhost中的png并将图像加载到画布中?...

该博客作者遇到了一个技术问题:在使用fabric.js将图像成功添加到HTML5画布后,尝试将画布保存为图像时,结果得到的是空白图像。他们分享了用于添加图像到画布以及将画布转换为数据URL的JavaScript代码,并提供了PHP脚本以保存base64编码的图像。然而,尽管图像在画布上可见,但保存时并未包含这些图像。作者请求帮助解决这个问题。
摘要由CSDN通过智能技术生成

document.getElementById('imgLoader').onchange = function handleImage(e) {

var reader = new FileReader();

reader.onload = function (event) { console.log('fdsf');

var imgObj = new Image();

imgObj.src = event.target.result;

imgObj.onload = function() {

// start fabricJS stuff

var image = new fabric.Image(imgObj);

image.set({

left: 250,

top: 250,

angle: 0,

padding: 10,

cornersize: 1

});

//image.scale(getRandomNum(0.1, 0.25)).setCoords();

c.add(image);

//context.drawImage(imgObj, 100, 100);

// end fabricJS stuff

}

}

reader.readAsDataURL(e.target.files[0]);

}

通过使用上述功能,我可以成功地将图像添加到画布。但我的问题是,当我尝试将画布保存为图像时,它会显示空白图像。我使用下面的代码将画布转换为图像。

var canvas = document.getElementById('c'); //Id of the canvas

var dataURL = canvas.toDataURL();

$('#saveMe').click(function() {

$.ajax({

type: "POST",

url: "myscript.php",

data: {

img: dataURL

}

}).done(function(o) {

console.log('saved');

});

myscript.php如下。

define('UPLOAD_DIR', 'C:/xampp/htdocs/pic/');

chmod(UPLOAD_DIR, 777);

$img = $_POST['img'];

$img = str_replace('data:image/png;base64,', '', $img);

$img = str_replace(' ', '+', $img);

$data = base64_decode($img);

$file = UPLOAD_DIR . uniqid() . '.png';

$success = file_put_contents($file, $data);

print $success ? $file : 'Unable to save the file.';

即使我添加图片到画布上,保存时,我得到的只是空白的画布,没有得到我已加载到画布图像。请帮助我。提前感谢。

2015-08-23

Tharu

+0

你应该叫'canvas.toDataURL()'在点击的功能,在这里似乎你调用它,而加载页面。显然,你的画布仍然是白色的。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值