canvas的drawImage方法参数详解

引言:

canvas很有意思的一项特性就是图像操作能力。可以用于动态的图像合成或者作为图形的背景,以及游戏界面(Sprites)等等。浏览器支持的任意格式的外部图片都可以使用,比如PNG、GIF或者JPEG。 你甚至可以将同一个页面中其他canvas元素生成的图片作为图片源。

一旦获得了源图对象,我们就可以使用 drawImage 方法将它渲染到 canvas 里。

drawImage 方法有三种形态:

drawImage(image, dx, dy) 在画布指定位置绘制原图
drawImage(image, dx, dy, dw, dh) 在画布指定位置上按原图大小绘制指定大小的图
drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) 剪切图像,并在画布上定位被剪切的部分

参数描述
image规定要使用的图像、画布或视频
sx可选。开始剪切图片的 x 坐标位置
sy可选。开始剪切图片的 y 坐标位置
sw可选。被剪切图像的宽度(就是裁剪之前的图片宽度,这里的宽度若小于图片的原宽。则图片多余部分被剪掉;若大于,则会以空白填充)
sh可选。被剪切图像的高度(就是裁剪之前的图片高度)
dx在画布上放置图像的 x 坐标位置
dy在画布上放置图像的 y 坐标位置
dw可选。要使用的图像的宽度(就是裁剪之后的图片高度,放大或者缩放)
dh可选。要使用的图像的高度(就是裁剪之后的图片高度,放大或者缩放)

 

看实例(源图片是120*120的)

drawImage(image, dx, dy) 在画布指定位置绘制原图

	var canvas = document.getElementById("canvas");
	canvas.width=240;
	canvas.height=240;
	var ctx=canvas.getContext("2d");
	
	var image = new Image();
	image.src="./images/head.jpeg";
	image.onload=function(){
		ctx.drawImage(this,0,0);
	}

效果如下

可以看到图片没有做任何的处理,直接从0,0位置绘制出来

 

drawImage(image, dx, dy, dw, dh) 在画布指定位置上按原图大小绘制指定大小的图

	var canvas = document.getElementById("canvas");
	canvas.width=240;
	canvas.height=240;
	var ctx=canvas.getContext("2d");
	
	var image = new Image();
	image.src="./images/head.jpeg";
	image.onload=function(){
		ctx.drawImage(this,0,0,240,240);
	}

效果如下

后面的两个参数,指定了绘制的长宽,这里都指定240,会把画布占满。


drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) 剪切图像,并在画布上定位被剪切的部分

	var canvas = document.getElementById("canvas");
	canvas.width=240;
	canvas.height=240;
	var ctx=canvas.getContext("2d");
	
	var image = new Image();
	image.src="./images/head.jpeg";
	image.onload=function(){
		ctx.drawImage(this,0,0,60,60,0,0,120,120);
	}

效果如下

图片被截取了左上角一部分,然后还放大显示长宽120

 

  • 41
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
drawImage() 方法是用于在画布上绘制图像的方法。根据引用,传递给 drawImage() 方法的图像必须是 Image 对象或 Canvas 元素。你可以通过创建一个 Image 对象,或者使用 HTML 中的一个图像标记来表示图像。在小程序中,也可以使用相应的图片资源。在 drawImage() 方法中,你可以指定图像的位置和尺寸来控制绘制的效果。 根据引用和引用,drawImage() 方法有多种使用方式,具体取决于你想要达到的效果。以下是几个常用的用法: 1. drawImage(image, dx, dy): 这是最简单的用法,它将图像绘制在画布上的指定位置(dx, dy)。 2. drawImage(image, dx, dy, width, height): 这个用法在第一个用法的基础上,增加了图像的宽度和高度,可以控制图像的缩放效果。 3. drawImage(image, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight): 这个用法可以通过指定源图像的区域和目标图像的区域来实现图像的裁剪和缩放。 通过在小程序中调用 drawImage() 方法,并根据你的需求传入相应的参数,你可以在画布上绘制图像并控制它们的位置、尺寸和缩放效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [drawImage()方法](https://blog.csdn.net/u012193330/article/details/44996923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [小程序中canvasdrawImage方法参数使用详解](https://download.csdn.net/download/weixin_38715567/13287757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程界小明哥

请博主喝瓶水,博主持续输出!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值