引用canvas生成的图片

52 篇文章 0 订阅
40 篇文章 2 订阅

JS

//canvas加载图片
var canvas_img     = document.getElementById("canvas_img");
var ctx_2d = canvas_img.getContext("2d");
img = new Image();
img.src = "images.jpg";
img.onload = function() {
	var iw = img.width;
	var ih = img.height;
	canvas_img.width = iw;
	canvas_img.height = ih;
	ctx_2d.drawImage(img,0,0,iw,ih,0,0,iw,ih);
	ctx_2d.font = 'bold 24px "PingFangSC-Regular","sans-serif","STHeitiSC-Light","新宋体","宋体"';
	ctx_2d.fillStyle = '#777';
	ctx_2d.textBaseline="top";
	ctx_2d.textAlign="center";
	ctx_2d.fillText('设置的文字1', 80, 100);
	ctx_2d.fillText('设置的文字2', 325, 458);
	
	//引用的canvas生成的图片地址
	var new_img_src;
	//(1)canvas转换成二进制图片
	new_img_src = canvas_img.toDataURL("image/jpg");
	//(2)通过AJAX生成图片再调用图片地址
	dataImg = new_img_src.substring(22);
	var url='canvas_img.php';
	$.ajax({
			type:'post',
			url:url,
			data:{dataimg:dataImg},
			beforeSend:function(){
			},success:function(str){
				new_img_src = str;
			}
	});
}


PHP

<?php  
function rndStr(){
    $string = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $len = rand(0,3)+5;
    $rst = '';
    $strl = strlen($string);
    for($i=0;$i<$len;$i++){
        $ind = rand(0, $strl);
        $s = $string[$ind];
        $rst .= $s;
    }
    return $rst;
}

$name = time() . rndStr(); 
$img = str_replace(' ', '+', $_POST['dataimg']);  
$img = base64_decode($img);  
$f = fopen('new/' . $name . '.png', 'w+');  
fwrite($f, $img);  
fclose($f);  
echo 'new/' . $name . '.png';  
?>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值