canvas drawImage方法不显示图片的解决方案


先复习一下用法:

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

各个参数说明:

参数 描述
img 规定要使用的图像、画布或视频。
sx 可选。开始剪切的 x 坐标位置。
sy 可选。开始剪切的 y 坐标位置。
swidth 可选。被剪切图像的宽度。
sheight 可选。被剪切图像的高度。
x 在画布上放置图像的 x 坐标位置。
y 在画布上放置图像的 y 坐标位置。
width 可选。要使用的图像的宽度。(伸展或缩小图像)
height 可选。要使用的图像的高度。(伸展或缩小图像)

用一张图来说明:

context.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh)

img Source image object Sprite sheet
sx Source x Frame index times frame width
sy Source y 0
sw Source width Frame width
sh Source height Frame height
dx Destination x 0
dy Destination y 0
dw Destination width Frame width
dh Destination height Frame height

 

 

 

 

 

 

 

 

 

以下是w3school给的例子:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("tulip");
ctx.drawImage(img,10,10);

然而实际在运行中图片是不显示的,这是比较坑的问题,解决方法是将drawImage放入

img.onload或者window.onload中。

 

参考链接:

https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM