码迷,mamicode.com
首页 > 其他好文 > 详细

canvas入门(五)

时间:2017-11-14 19:36:38      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:bsp   blog   图形   fill   images   rect   陷阱   http   位移   

canvas一样可以使用图形变换。

位移,translate(x, y);

旋转:retate(deg);

缩放:scale(sx,sy);

但这个过程有个陷阱,如

    canvas.width = 800;
    canvas.height = 800;

    cxt.fillStyle = ‘red‘;
    cxt.translate(100, 100);
    cxt.fillRect(0,0,400,400);

    cxt.fillStyle = "green";
    cxt.translate(300, 300);
    cxt.fillRect(0,0,400,400);

效果如下:

技术分享

可以发现,translate的数据叠加了。所以在绘制过程中应该使用save()和restore();

        canvas.width = 800;
	canvas.height = 800;

	cxt.save();
	cxt.fillStyle = ‘red‘;
	cxt.translate(100, 100);
	cxt.fillRect(0,0,400,400);
	cxt.restore();

	cxt.save();
	cxt.fillStyle = "green";
	cxt.translate(300, 300);
	cxt.fillRect(0,0,400,400);
	cxt.restore();

  效果回复正常。

技术分享

 

canvas入门(五)

标签:bsp   blog   图形   fill   images   rect   陷阱   http   位移   

原文地址:http://www.cnblogs.com/niujie/p/7833907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!