抖音资讯

douyinzx

canvas绘制图片的方法(canvas动态绘制轨迹)

iseeyu2年前 (2024-05-08)抖音资讯115

今天我们来说下Canvas一个新的api,context.drawImage();这个Api有三种调用方式。下面我分别来介绍

 

在画布上定位图像:(3个参数)

context.drawImage( img , x , y );

三个参数也很容易理解

1、img:待绘制的图片对象,这里可以是img标签,也可以是Image对象,两者实质都一样,都表示图片对象。

2、x, y 分别对应是的图片左上角在画布的坐标

举例:

var img = new Image();

img.onload = function(){

	 context.drawImage(this,10,10);

}

img.src ='./img/toutiao.jpg';

效果如下:

 

这里需要我们注意的是我们在绘制图片的时候,一定要保证图片加载完成,所以我们一般在图片的onload事件里面去绘制图片。

 

在画布上定位图像,并规定图像的宽度和高度:(5个参数)

context.drawImage( img , x , y ,width ,height);

还是绘制上面的图片,我们在后面添加width,height看效果:

context.drawImage(this,10,10,100,100);

 

我们强制把图片绘制成宽为100,高为100的图像了,从图上我们可以看到,图片变形了,除非我们把宽高比和图片本身的宽高比一致,图片方可正常显示。

 

剪切图像,并在画布上定位被剪切的部分:(9个参数)

context.drawImage( img , sx , sy , swidth , sheight , x , y , width , height);

前面两种方式的绘制是将整张图片全部绘制到画布上,那么第三种方式的调用则是可以在图片上截取一部分然后贴到画布上。简单可以理解成我们在图片上扣了一块下来,然后贴到画布上,想像一下这个过程,这9个参数就不难理解了。

img:图片对象

sx:我们要在图片上扣的起始位置的X坐标

sy:我们要在图片上扣的起始位置的Y坐标

swidth,sheight:我们要扣的图片的宽高

x,y:扣完以后,我们要开始放在画布上的x,y的位置。

width,height:我们要创建多大的画布区域存放我们扣过来的图片

这个方法的应用最多就是在canvas游戏中的使用。我们有一个序列帧图片,我们可以通过取出图片不同的部分从而形成动画,举例:

 

我们可以看这张图,就是一个典型的序列帧图片,接下来我们让其动起来。

先看效果:

 

var img = new Image();
			img.onload = function(){
				var singleW = this.width / 11; //因为图片有11帧
				var singleH = this.height;
				var i = 1;
				setInterval(()=>{
					i%=11;

					context.clearRect(0,0,singleW*2,singleH*2);
				context.drawImage(this , singleW * i , 0 , singleW , singleH,10,10,singleW,singleH);
					i+=1;
				},60)
			}
img.src ='./img/person.png';

原理就是我们把图片的每一帧都单独扣出来,然后放在画布上,通过定时器就可以实现动画了,很多游戏框架中的精灵动画就是这样来的。

总结

canvas绘制图片需要注意要在图片加载完成后再去绘制,否则绘制出来的结果依然是空白。

context.drawImage方法的三种调用方式,其中第三种调用最为重要,在实际的项目开发过程中应用也是最多,最灵活。

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/42656.html

相关文章

抖音为什么不能删除订单记录(抖音删除的购买记录)

抖音为什么不能删除订单记录(抖音删除的购买记录)

在抖音中我们除了可以刷视频之外还可以购买商品,那么我们购买过的记录想要删除该怎么操作呢?相信很多朋友还不是很清楚,下面就让小编来为大家详细介绍一下吧! 抖音账单记录怎么删除? 1、打开抖音,点击右下角【我】,点击右上角的【三】。 2、点击【我的订单】,如下图所示。 3、点...

怎么发抖音才有浏览量(增加抖音浏览量的方法)

怎么发抖音才有浏览量(增加抖音浏览量的方法)

如何快速增加抖音播放量和点赞量? 今天跟大家分享一下:如何利用短视频账号矩阵的运营方式来快速提升短视频播放量和关键词的搜索排名,主要有以下几个原因:提高用户黏性、提高内容曝光量、增加用户搜索的可能性、提高关键词的权重和排名。 首先,利用短视频账号矩阵的运营方式可以提高用户的黏性。短视...

抖音怎么剪辑电视剧片段(抖音视频剪辑的基本步骤)

抖音怎么剪辑电视剧片段(抖音视频剪辑的基本步骤)

抖音的剪辑主要包括以下几个步骤:精准快速地剪辑视频片段。     第一步是在“创新式时间轴”面板中,通过鼠标拖动时间轴滑块和“左右方向键”来选择需要分割的画面,然后将时间轴调到最大,使每个格子代表一个帧,这时可以使用“上下方向键”或时间轴滑块左右滑...

快手直播推广运营需要做什么?

快手直播推广运营需要做什么?

随着直播行业的兴起,众多与直播息息相关的职位也逐渐引起人们的关注,这其中直播运营是最受关注的,引来了众多求职者的好奇与关注。由于直播行业的新兴性,直播运营也是一个新的职位,关于直播运营需要做什么,我们进行了初步的资料收集与整理,主要分为以下几点: 1、主播管理 这方面多是一些协调性的工作,主要针...

快手电商“川流计划”,助力商家生意新增量 | 快手广告推广

快手电商“川流计划”,助力商家生意新增量 | 快手广告推广

作为不可错过的新增量市场,入局快手电商,已然成为众多商家寻找生意增量的不二之选。但,入局商家也会面临店播增长瓶颈、精准获客难、冷启动困难、粉丝增长慢等经营痛点。 为了让商家在平台的生意如川流一般生生不息,2023年快手电商特别推出了优质商家流量激励计划——“川流计划”。“川流计划”主要面向历史...

为什么没人看抖音直播?提高抖音直播人气的方

为什么没人看抖音直播?提高抖音直播人气的方

 为什么没人看抖音直播? 直播间没人看的最根本原因是没有粉丝。粉丝是直播间人气的主要来源,积累粉丝是一个漫长的过程。 还有就是直播间不够好,抖音不愿意给你推流量。即使你花钱投资千川,买了一批流量,你也承受不了。观众进来不到一秒钟就走了,主播连句“欢迎”没时间说。...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片