`
祈祷幸福
  • 浏览: 37205 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

初学canvas,发现浏览器渲染效果差异

阅读更多
/*------------------------------ITEYE  祈祷幸福原创,转载请注明。------------------------------*/



嗯 简单在canvas上画了些圆和矩形以及文字,然后发现3个浏览器的渲染效果差异:

同样都是半径75px的圆和一样的30px文字:


chrome(版本13):最差的。
锯齿很明显,这是偶第一次发现chrome还有倒数第一的情况。。有种换浏览器的冲动。。。T_T

看到空心的e你就懂了。。




opera(版本11):效果中等。
锯齿是处理过的,不过细看还是有的。

同上,看到空心的e你就懂了。。





firefox(版本5):效果最好。
锯齿全部处理过,模糊效果很不错,看起来非常平滑舒服。空心文字也非常清晰,也是第一次发现火狐还有排名第一的东东。。。






以上仅以 canvas下75px圆和30px文字做参考。画圆的代码如下:




ctx.fillStyle = '#e37';
ctx.fillRect(0, 0, 150, 150);
ctx.translate(75, 75);
ctx.beginPath();
ctx.arc(0, 0, 60, 0, Math.PI*2,true);
ctx.clip();
var lingrad = ctx.createLinearGradient(0, -75, 0, 75);
lingrad.addColorStop(0, '#c2f');
lingrad.addColorStop(0.5, '#729');
lingrad.addColorStop(1, '#123');

ctx.fillStyle = lingrad;
ctx.fillRect(-75, -75, 150, 150);

ctx.fillStyle = 'cceecc';
ctx.fillRect(10, 10, 50, 50);
ctx.beginPath();
ctx.arc(-55, -5, 30, 0, Math.PI*2, true);
ctx.fill();



空心文字代码如下:
ctx.textAlign = 'right';
ctx.textBaseline = 'bottom';
ctx.font = '30px Tahoma, Helvetica, Arial';
ctx.strokeText('hello! Canvas!', 250, 100);




/*------------------------------ITEYE  祈祷幸福原创,转载请注明。------------------------------*/
  • 大小: 6.6 KB
  • 大小: 6.4 KB
  • 大小: 6.6 KB
  • 大小: 9.8 KB
  • 大小: 4.7 KB
  • 大小: 4.6 KB
0
2
分享到:
评论
1 楼 cuixiping 2012-09-13  
原来还有这个差别,记号了。

相关推荐

    jQuery跨浏览器控制图标旋转代码

    总的来说,"jQuery跨浏览器控制图标旋转代码"是前端开发中一个实用的技巧,它展示了如何利用jQuery和多种技术来克服浏览器之间的差异,确保用户体验的一致性。无论是对于初学者还是经验丰富的开发者,理解和掌握这种...

    html实验的例子(有些没做完,可能与浏览器环境有关)

    不同的浏览器可能对HTML的理解和渲染方式存在差异,例如,Internet Explorer、Chrome、Firefox和Safari都有自己的默认样式和对某些HTML5特性的支持程度。解决这个问题通常需要使用CSS重置(reset CSS)或使用浏览器...

    h5小程序-大家来找茬(找不同),手机h5小游戏.zip

    6. 性能优化:考虑到H5游戏在浏览器中运行,需要关注性能优化,例如减少DOM操作,使用requestAnimationFrame进行动画渲染,以及合理管理内存。 7. 测试与调试:由于跨平台特性,需要在多种设备和浏览器上进行测试,...

    echarts前端统计图DEMO

    4. **兼容性**:ECharts兼容大部分现代浏览器,包括IE9及以上版本,对于不支持Canvas的浏览器,ECharts会自动降级使用VML渲染。 5. **丰富的图表类型**:包括柱状图、折线图、饼图、散点图、地图、K线图等多种图表,...

    h5游戏源码(5款)

    例如,Canvas用于动态渲染图形,而Web Storage可以保存用户数据,WebSocket则支持实时通信。 2. **Canvas游戏开发**:Canvas是HTML5中的一个关键元素,通过JavaScript可以进行像素级操作,实现游戏画面的绘制。...

    HTML5 canvas太阳系八大行星运行轨道图特效代码

    这个函数会在浏览器准备好再次渲染下一帧时调用指定的回调函数,非常适合用于创建流畅的动画效果。在每次动画更新中,我们计算每个行星相对于时间的位置,然后使用`ctx.clearRect()`清除旧的行星位置,再重新绘制新...

    js 把妹特效酷炫

    - WebGL是基于OpenGL的JavaScript API,用于在浏览器中进行3D图形渲染,为特效提供了更广阔的可能性。 5. **AJAX与实时更新** - AJAX(Asynchronous JavaScript and XML)技术允许不刷新整个页面的情况下更新部分...

    传说中用Js做的星际争霸网页游戏

    6. **兼容性与适应性**:由于浏览器环境的差异,开发者需要考虑不同浏览器的兼容性问题,可能需要引入polyfill库来弥补老旧浏览器的功能不足。此外,响应式设计也可能被应用,确保游戏在不同设备和屏幕尺寸上的良好...

    AircraftWars20200416.zip

    7. **兼容性问题**:由于不同的浏览器对JavaScript的实现可能存在差异,所以游戏可能在非谷歌浏览器中运行效果不佳。开发者可能需要利用jQuery或其他库来解决跨浏览器兼容性问题。 8. **Web API**:可能使用到了...

    html5网页版打砖块小游戏源码下载

    HTML5虽已广泛支持,但各浏览器对某些特性的实现可能存在差异,因此在开发时需要考虑兼容性问题,可能需要用到polyfill库或者条件注释。 9. 性能优化: 游戏性能优化是关键,包括减少DOM操作、缓存重复计算结果、...

    H5动画与游戏开发.zip

    而WebGL是一种3D图形API,允许在浏览器中实现硬件加速的3D图形渲染,为网页游戏带来了更丰富的视觉体验。 在H5游戏开发中,通常会用到框架和库,如Phaser、CreateJS和Three.js。Phaser是一个非常流行的2D游戏开发...

    H5小游戏源码 免费WiFi邀您来挑战!.zip

    3. 画面渲染:H5游戏通常使用canvas或者SVG进行图形绘制。源码中可能包含绘制函数,用于更新游戏场景、角色动画等。学习这部分,可以掌握如何利用canvas API进行动态画面的绘制。 4. 数据存储与管理:游戏可能涉及...

    [模仿]html5游戏_2048

    HTML5的Canvas API提供了强大的图形绘制功能,用于渲染游戏界面。我们可以在Canvas上画出每个格子,并根据数值大小和颜色映射来展示数字。同时,利用CSS3动画可以为游戏增加动态效果,提升用户体验。 对于触摸设备...

    Cocos2d-html5 DrawDemo

    1. **图形渲染**:Cocos2d-html5提供了Canvas渲染接口,可以方便地进行像素级别的操作。DrawDemo利用canvas的drawRect、drawLine等方法,实现了基本的线条和形状的绘制,展现了HTML5 canvas的图形绘制能力。 2. **...

    Html经典坦克大战

    在不同的浏览器中,JavaScript的执行可能存在差异,因此开发者通常会编写特定的代码来确保游戏在所有主流浏览器上都能正常运行。 6. map1.js: 游戏地图的实现可能就在这部分代码中。这可能包括地图数据的存储、地形...

    Html 入门 基础教程

    不同的浏览器可能对HTML的解析和渲染存在差异,开发者需要考虑跨浏览器兼容性问题。使用验证工具(如W3C验证器)检查代码,并借助CSS前缀(如`-webkit-`、`-moz-`)和JavaScript库(如jQuery)来确保广泛兼容。 七...

    html教程(基础版)

    9. **浏览器兼容性**:不同的浏览器可能对HTML的解析和渲染存在差异,因此在编写HTML时需要考虑跨浏览器兼容性问题,通常借助于Reset CSS或Normalize CSS来解决。 10. **验证工具**:W3C的验证器可以帮助检查HTML...

    1500个前端开发常用JavaScript特效

    然而,不同的浏览器对这些API的支持程度不同,开发者需要了解并适配这些差异,确保特效在各平台上的兼容性。 八、性能优化 高效的JavaScript代码能提升用户体验。优化技巧包括避免阻塞渲染的操作、合理使用定时器和...

    HTML5程序设计(中文第2版)

    4. **Canvas**:这是一个用于绘制图形的强大工具,支持路径绘制、文本渲染、图像操作等多种功能,广泛应用于图表展示、动画制作等领域。 5. **音频视频**:HTML5内置了对音频和视频的支持,开发者可以直接使用`...

Global site tag (gtag.js) - Google Analytics