canvas教程

网游之大盗贼

字号+ 作者:H5之家 来源:H5之家 2018-03-11 16:00 我要评论( )

蜘蛛资讯网是阿克苏唯一官网,我们为企业客户提供最优秀的蜘蛛资讯网产品,了解产品详情请致电。

canvas-缩放

Canvas-图片缩放

  • 由上一篇canvas-旋转的例子可以了解到canvas的一些特性,不熟悉的同学可以先去看看canvas-旋转。
  • 我们在将图片引入canvas时,图片会一原始像素渲染。这样往往不是我们想要的大小。这时就要用到canvas的scale(x, y)方法:如果您对绘图进行缩放,所有之后的绘图也会被缩放。定位也会被缩放。如果您 scale(2,2),那么绘图将定位于距离画布左上角两倍远的位置。这里就会有个问题,我们在用drawImage(img,10,10)方法的时候,x, y坐标也会更具scale的缩放而改变。
    例如:

    .getElementById("img") var canvas = document.getElementById("canvas") var ctx = canvas.getContext("2d") ) .getElementById("img") var canvas = document.getElem新视觉_蜘蛛资讯网entById("canvas") var ctx = canvas.getContext("2d") ) )

    canvas-缩放图1


    canvas-缩放图2


    从上图可以发现图片放大2倍,相对画布的x,y轴坐标也放大了两倍,这显然不是我们想要的,所以在渲染图片的时候设置的x,y应该要对应的缩小2倍,这样就可以抵消对应的缩放值了。

    var img = document.getElementById("img") var canvas = document.getElementById("canvas") var ctx = canvas.getContext("2d") ) / 2);

    canvas-缩放图3

    再结合canvas旋转的方法,封装一个可以旋转缩放的方法:

    (ctx, img, x, y, width, height, scale, rotate) { width *= scale height *= scale y ..(y .y / scale)....rotate / .(y + height / 2)); }

    这篇文章讲的是在图片缩放,canvas-旋转。有写的不好或错误的地方,望指出

    当前文章:

    发布时间:2018-03-11 12:48:37

    bnp  wk2bu  gokvfvwd  王者归来  rhdfpv4q  1sq2wbf6  9vbnw  rgj8o0  z12s9  lm1  

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评