canvas将画布上的文字和图像显示并保存到本地上

canvas将画布上的文字和图像显示并保存到本地上

直接上代码了!!

html代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>canvas将画布上的文字和图像显示并保存到本地上</title>
	</head>
	<body>
		<p>
			<input type="button" value="显示图像和文字" id="show" style="width:410px;">
		</p>
		<p>
			<input type="button"  value="将图像和文字保存到本地" id="save" style="width:410px;"/>
		</p>
		<canvas id="myCanvas" style="width:410px;height:400px;"></canvas>
	</body>
</html>

script代码:

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
    
    
		$("#show").click(function(){
    
    			//点击显示在画布上的图像和文字
			let myCanvas = document.querySelector("#myCanvas");	
			let myContext = myCanvas.getContext('2d')		//创建2D画布
			let myImage = new Image();			//创建图片对象
			myImage.src= 'img/index.jpg';		//引入图片的路径
			myImage.onload = function(){
    
    		//图片加载完毕执行
				myContext.drawImage(myImage,0,0,myCanvas.width,myCanvas.height)
				myContext.font = '16px 宋体';
				myContext.lineWidth = 3;
				myContext.strokeStyle = 'green';
				myContext.strokeText('张三',140,50);
				myContext.fillStyle= 'white';
				myContext.fillText('张三',140,50);
			}
		})
		$("#save").click(function(){
    
    
			let myCanvas = document.querySelector("#myCanvas");
			let myImage = myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream");
			window.location.href = myImage;
		})
	})
</script>

效果如下
在这里插入图片描述

Guess you like

Origin blog.csdn.net/bazcsx/article/details/106167685