html5 canvas中绘制字体与图片以及图形模糊问题解决


本文摘自PHP中文网,作者黄舟,侵删。

html5 canvas 绘制字体、图片与图形模糊问题

发生情况

多出现在高dpi设备,这意味着每平方英寸有更多的像素,如手机,平板电脑。当然很多高端台式电脑也有高分辨率高dpi的显示器。

canvas在浏览器中的缩放原理

如果没有设置style那么就以html的属性width,height作为尺寸。

如果设置了style中的width、height,那么以其style设置为最终绘制到浏览器的尺寸。

也就是说,属性中的宽高并不代表实际宽高,所以高dpi下会放大canvas,导致模糊。

canvas的width、height属性是canvas的后缓冲尺寸,绘制到浏览器后会根据当前dpi进行缩放。

devicePixelRatio(window成员)保存了在高dpi状态下属性width/height被放大的比例。

错误的解决案例

网上搜索canvas 模糊,会有两种解决方法,可能现在都不适合了。

一个是CanvasRenderingContext2D.translate(0.5,0.5);

  这个其实是在3D绘图领域常用的,用于处理像素偏移,canvas的2d context已经处理了这方面的问题。

阅读剩余部分

相关阅读 >>

关于h5新属性audio音频和video视频的控制解析

用html创建canvas画布生成图片

html5中如何绘制图形以及清空图像

css中文字相关属性的介绍

html5 frameset标签的替代方案是什么?frameset标签替代的解决办法

html5实现留言和回复的页面样式

jquery方法的总结(附示例)

使用html5里的classlist操作css类的详细介绍

教你用html5画一个馋人的西瓜

h5与c3的新交互特性有哪些

更多相关阅读请进入《canvas》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...