首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Fanvas技术解密】HTML5 canvas实现脏区重

先说明一下,fanvas是笔者在企鹅公司开发的,即将开源的flash转canvas工具。 脏区重(dirty rectangle)并不是一门新鲜的技术了,这在最早2D游戏诞生的时候就已经存在。...这相比整屏重,重的面积小了几十倍,由于canvas 2d使用的是CPU处理,那么相应地,CPU处理的像素个数就少了很多倍,顺理成章,动画的效率就会提高。...看起来非常简单,大概来说,只需要2步: 1、找出这一帧变化的矩形区域; 2、利用canvas的api实现脏区重。 但是,问题来了,怎么计算变化区域呢?canvas又是否提供了现成的接口呢?...接着,我们再来看第二步,canvas如何具体操作,是否有脏区重接口? 其实,canvas并没有真正的脏区重接口,不过有一个clip,这个一般用于实现遮罩,不过也可以取巧的用来实现脏区重。...再复杂一些,当然大家可以自行根据脏区列表,重写每个元件的绘制方法,自行实现脏区重,不过笔者估计啊,js写这么多逻辑,最终还是吃力不讨好。

1.9K20

js实现截图并保存图片(html转canvascanvas转image)

js实现截图并保存图片在本地(html转canvascanvas转image) 一、html转canvas 需要的库html2canvas.jscanvas2image.js 话不多说,直接上代码!... <script type="text/javascript" src="html2<em>canvas</em>.min.<em>js</em>...点击转成<em>canvas</em>: ? 可以看见此时增加一个一个<em>canvas</em>标签: ? 点击转成图片: ? 可以看见此时增加一个一个img标签: ? 点击保存: ? ? 至此,<em>js</em>截图就做完了。...html2<em>canvas</em>.<em>js</em>和<em>canvas</em>2image.<em>js</em>的下载地址: html2<em>canvas</em>.<em>js</em>:http://html2<em>canvas</em>.hertzen.com/dist/html2<em>canvas</em>.min.<em>js</em>...<em>canvas</em>2image.<em>js</em>:https://github.com/SuperAL/<em>canvas</em>2image 源代码下载

25.7K41

前端|利用画布制作地球轨道

一.什么是 画布标签常用于绘制图像,但是, 元素本身并没有绘制能力,它仅仅是图形的容器,要想通过画布标签来绘制图像,还需要调用js方法。...今天就利用 画布来绘制一下地球轨道的效果。 ? 图1.1 效果图 二.基础知识介绍 canvas只有height高度和width宽度两个属性。...这个方法是告诉浏览器执行动画,并请求浏览器调用指定的函数以在下次重之前更新动画。该方法将回调作为在重之前调用的参数。...注意:如果要在下次重时为另一帧设置动画,则回调例程必须自己调用requestAnimationFrame()。...,false); // Earth orbit,关联关系,半径 = 地球相对第二原点(150,150) 向右移动的距离 ctx.stroke();//线

1.9K20

HTML动画分类 HTML5动画 SVG库 SVG工具 Canvas动画工具

1、js配合传统css属性控制,可以使用setTimeout或者高级的requestAnimationFrame 2、css3 3、svg 4、canvas(当然,这个还是要配合js) 也许这么分类是不对的...,因为无论如何都需要脚本控制,那么也许应该分为 1、js+传统css 2、css3 3、js+svg 4、js+canvas 但由于requestAnimationFrame比较特殊,所以还是单独出来说吧...requestAnimationFrame的好处是 类似flash的enterFrame事件,跟浏览器重同步,不像setTimeout那样强行插入,更容易实现平滑的效果 灵活,可以实现很多css3无法实现的高级效果...4、canvas 依赖js(参考1),修改canvas的效果,简单的效果可以直接利用canvas.getContext("2d")画出来;复杂的效果,可以配合Image实现。.../ 特点是: 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果图像 最适合图像密集型的游戏,其中的许多对象会被频繁重 Flash CC在支持Canvas方面也是很强大

3.7K10

前端动画大乱炖

,并且重或回流的时间间隔紧紧跟随显示器的刷新频率(60 Hz或者75 Hz); 在隐藏或不可见的元素中,将不会进行重或回流,这当然就意味着更少的的cpu,gpu和内存使用量; 目前,主要浏览器Firefox...格式保存结果图像; 最适合图像密集型的游戏,其中的许多对象会被频繁重; 大多数 Canvas 绘图 API 都没有定义在 元素本身上,而是定义在通过画布的getContext()方法获得的一个...的 API 在 canvas 中进行3D渲染。...: WebGL 参考资料 WebGL API 几个常用的动画库 Ani.js -- 基于CSS动画的生命处理库 Dynamics.js -- 创建具有物理运动效果动画的js库 Animate.css...-- 齐全的CSS3动画库 Three.js -- 让用户通过javascript入手进入搭建webgl项目的类库

1.1K20
领券