html2canvas效果,html2canvas保存图像不起作用

我正在使用html2canvas 0.4.0渲染屏幕截图,并希望将其另存为Web服务器上的图像。

为此,我编写了以下函数:

JavaScript

function screenShot(id) {

html2canvas(id, {

proxy: "https://html2canvas.appspot.com/query",

onrendered: function(canvas) {

$('body').append(canvas); // This works perfect...

var img = canvas.toDataURL("image/png");

var output = img.replace(/^data:image\/(png|jpg);base64,/, "");

var Parameters = "image=" + output + "&filedir=" + cur_path;

$.ajax({

type: "POST",

url: "inc/saveJPG.php",

data: Parameters,

success : function(data)

{

console.log(data);

}

}).done(function() {

});

}

});

}

saveJPG.php

$image = $_POST['image'];

$filedir = $_POST['filedir'];

$name = time();

$decoded = base64_decode($image);

file_put_contents($filedir . "/" . $name . ".png", $decoded, LOCK_EX);

echo $name;

?>

渲染完画布后,我可以将其完美地附加到HTML主体中,但是将其保存在服务器上会导致文件损坏(?)。

我可以在IrvanView中读取尺寸,但是图像是透明的/空的?该文件约为2.076 KB。所以它不是真的是空的。

我也尝试过使用JPEG,这会导致文件损坏,IrfanView会说类似“伪造的标记长度”。

屏幕截图的尺寸为650x9633。POST方法是否要处理大量数据?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值