canvas画布上平铺图片&&绘制文本

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas画布上平铺图片&&绘制文本相关的知识,希望对你有一定的参考价值。

1️⃣知识点①:如何在canvas画布上平铺图片:

⚠️知识点实现:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>画图像</title>
		<style type="text/css">
			#c{
				border: 1px solid black;
			}
		</style>
	</head>
	<body>
		
		<canvas id="c" width="1078" height="1881"></canvas>
		
	</body>
	<script type="text/javascript">
		var c = document.getElementById("c");
		var jb = c.getContext("2d");
		
		// 创建一个图片对象
		var  img = new Image();
		// 指定图片的内容
		img.src = 'img/1.jpg';				// 值为图片路径
		
		// 注意:图片不能直接放canvas上,需要通过事件.onload加载,不然图片可能因为没有加载完成而未出现在画布
		img.onload = function(){
			// 参数:图片,起始x坐标,起始y坐标,后两个参数指定大小(建议尺寸的比例和原图比例匹配)
			// 后两个参数如果不指定,默认会按原图1:1绘制,显示不下的内容不再显示
			jb.drawImage(this,0,0,1078,1881)
			// 200,200,300,300决定裁剪图片左上到右下区域;后面四个坐标表示所画区域的左上右下坐标
			//jb.drawImage(this,200,200,300,300,0,0,1078,1881)
		}
	
		
	</script>
</html>

⚠️实现效果:

1️⃣知识点②:如何在canvas画布上绘制文本 (实心文本+空心文本):

⚠️知识点实现:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>绘制文字</title>
		<style type="text/css">
			#c{
				border: 5px solid blue;
			}
		</style>
	</head>
	<body>
		<canvas id="c" width="1200" height="700"></canvas>
	</body>
	
	<script type="text/javascript">
		var c = document.getElementById("c");
		var ctx = c.getContext("2d");
		
		// 参数:正常字体/斜体  字号  微软雅黑/仿宋             normal:正常字体/italic:斜体
		ctx.font = "normal 100px 仿宋";   

        //ctx.strokeStyle = "red";	   // 字体轮廓颜色
		var jb = ctx.createLinearGradient(0,0,1200,0);   // 字体轮廓渐变色
		jb.addColorStop(0,"red");
		jb.addColorStop(0.2,"blue");
		jb.addColorStop(0.4,"orange");
		jb.addColorStop(0.6,"green");
		jb.addColorStop(0.8,"cyan");
		jb.addColorStop(1,"yellow");
		ctx.strokeStyle = jb;
		// 绘制文本(空心)          参数:文本,左上角x坐标,左上角y坐标,最大显示字符宽
 	    ctx.strokeText("Hello,World!",100,100);   
		
		// 绘制文本(实心)
		ctx.fillStyle = jb;   // 使用渐变色
		ctx.fillText("Hello,World!",100,200);
		
		
	</script>
</html>

⚠️实现效果:

以上是关于canvas画布上平铺图片&&绘制文本的主要内容,如果未能解决你的问题,请参考以下文章

canvas使用图像(绘制图、图像平铺、图像剪裁、像素处理、绘制文字)

canvas&

Canvas---绘制平行线&线模糊的问题

Canvas 图片平铺设置

canvas实现平铺水印

Canvas的globalCompositeOperation属性详解和小练习&&实现放大镜