抖音资讯

douyinzx

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

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

今天我们来说下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://0291.com.cn/post/42656.html

相关文章

在快手投放广告有什么优势?快手广告推广怎么做?

在快手投放广告有什么优势?快手广告推广怎么做?

快手是目前年轻人最喜爱的短视频app之一,我们很多人在在玩快手的时候都会刷到一些广告,这种广告就是我们今天要讲的,快手信息流广告!那么在快手投放广告有哪些优势呢? 一、在快手投放手机广告的优势 1.定向投放优势 随着快手广告平台的逐渐完善,目前我们在投放快手广告的时候,可以通过后台,对产品的定...

ps蒙版教程实例(蒙版的概念与效果)

ps蒙版教程实例(蒙版的概念与效果)

    所谓蒙版,实际上也是一种选区,用于限定对照片某些局部的调整。这种局部的限定,主要是通过黑、灰和白色来实现的。下面我们通过一个具体的案例来介绍。   在Photoshop中打开照片,这张照片是经过优化的,是一张JPG格式的照片。...

抖音倍速播放不见了怎么设置回来(抖音倍速调整操作)

抖音倍速播放不见了怎么设置回来(抖音倍速调整操作)

此前,微博、小红书等内置的短视频内容就支持倍速播放,如今,抖音、快手也上线了倍速功能。至此,长视频、中视频(B站、西瓜视频)以及短视频平台全部上线“倍速播放”功能。   在抖音的播放界面,只要长按视频两秒钟,就会在手机屏幕下方弹出选项,其中包括“不感兴趣”、“保...

SEM推广中如何丰富质量度分数 | 百度搜索广告

SEM推广中如何丰富质量度分数 | 百度搜索广告

百度账户中关键词的质量度是一项特别重要的属性,它是基于关键词的创意质量、关键词点击量、账户搭建结构和账户历史消费数据等多种维度得出的值。在账户里,质量度总共划分为10个等级,分别用5颗星体现,一颗星是2分,10分最高,1分是最低。 高质量度的关键词优势在于,对应账户可以用更低的关键...

360做广告效果怎么样?360做广告怎么收费?

360做广告效果怎么样?360做广告怎么收费?

随着互联网营销时代的发展,越来越多的小伙伴们喜欢在网上搜索各式各样的资讯。但是,互联网的营销发展,也使得越来越多小伙伴们可以多样式的选择。因此,广告主知道要让自己的产品获得较好的曝光,就需要借助有力的方式进行做广告。而在360做广告,是目前最有效的营销方式。 360广告效果怎么样?...

抖音藏红花类商品宣传不规范行为专项治理通知

抖音藏红花类商品宣传不规范行为专项治理通知

抖音近日发现有部分商家、创作者在商品详情页以及以直播、视频形式推广藏红花类商品过程中存在虚假、不实等不规范的宣传行为,恶意误导消费者,侵犯消费者合法权益,扰乱了平台正常的交易秩序。 为保障消费者合法权益,规范平台秩序,维护平台良好的生态环境,自2021年12月29日起,抖音将对违反宣传规...

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

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