Canvas学习笔记2

画图片

var canvas = document.querySelector("#canvas");
var ctx = canvas.getContext("2d");

//绘制图像
// ctx.drawImage(图片对象,x位置,y位置)
// ctx.drawImage(图片对象,x位置,y位置,宽度,高度)
// ctx.drawImage(图片对象,图像裁剪的位置x,图像的裁剪位置y,裁剪的宽度,裁剪的高度,x位置,y位置,宽度,高度)
var img = new Image()
img.src="img/cat.jfif"

var img2 = new Image()
img2.src="img/cat.jpg"

//图片载入之后再绘制内容
img.onload= function(){
	ctx.drawImage(img,50,50)
	ctx.fillText("水印文字",500,500)
}
img2.onload= function(){
	ctx.drawImage(img2,150,150,200,150)
}

画视频

<canvas id="canvas" width="800" height="600"></canvas>
<video width="800" height="" src="img/mov_bbb.mp4" controls="controls"></video>

<script>
	var video = document.querySelector("video")
	var canvas = document.querySelector("#canvas")

	var interId;
	var ctx = canvas.getContext('2d')
	video.onplay=function(){
		interId = setInterval(function(){
			//清除上一帧内容
			ctx.clearRect(0,0,800,600)
			//设置底色
			ctx.fillRect(0,0,800,600)
			ctx.drawImage(video,0,70,800,440)
			//给视频加水印
			ctx.font="20px 微软雅黑"
			ctx.strokeStyle = "#999"
			ctx.strokeText("水印文字",50,50)
		},16}
		// 间隔16是每秒钟60帧的刷新频率,,1000毫秒除60帧约等于16
	}
	video.onpause = function(){
		clearInterval(interId)
	}
</script>

获取画布上某一矩形块位置的像素色彩数据

//参数 x位置,y位置,宽度,高度
var imgData = ctx.getImageData(0,0,10,10)

返回的结果是一个ImageData对象的数组,数组里面每4个元素项代表一个rgba

putImageData把图像数据放回画布上

var imageData2 = ctx2.vreateImageData(28,28)
for(var i=0;i<imgData.data.length;i++){
	imgData2.data[i] = imgData.data[i]
}
ctx2.putImageData(imgData2,0,0,0,0,28,28)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值