html5 canvas绘制图片模糊的问题
来源:互联网 发布:java调用百度地图api 编辑:程序博客网 时间:2024/04/30 16:48
转载地址:http://segmentfault.com/q/1010000002391424/a-1020000002391631
不光绘制图片,在高分屏下,绘制文字和线条都会出现模糊的现象,具体的原因可以参考这里或这里
GitHub上有一个hidpi-canvas-polyfill
可以很好的解决这个问题,但是没有对图片进行处理。如果你了解了原因,解决这个问题也很容易。
首先,引入上方这个polyfill
;
然后,得到devicePixelRatio
和backingStorePixelRatio
的比例,可以使用下面的方法:
var getPixelRatio = function(context) { var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1; return (window.devicePixelRatio || 1) / backingStore;};//调用var ratio = getPixelRatio(ctx);
之后,在调用ctx.drawImage()
的时候,给width
和height
乘以ratio
,如下:
ctx.drawImage(document.querySelector('img'), 10, 10, 300 * ratio, 90 * ratio);
完整的deom参见这里,请在手机中打开查看效果。
0 0
- html5 canvas绘制图片模糊的问题
- html5 canvas绘制图片模糊的问题
- Canvas-drawImage 绘制图片模糊问题
- Canvas绘制图片模糊
- 解决Html5用canvas绘制不出来图片的问题
- 解决Html5用canvas绘制不出来图片的问题
- canvas绘制出现模糊的问题
- android Canvas绘制图片模糊
- html5 canvas drawImage图片模糊
- HTML5使用canvas画图时,图片被自动放大模糊的问题.....
- 使用html5 canvas绘制图片
- HTML5之canvas绘制图片
- HTML5 Canvas图片马赛克模糊动画
- HTML5 移动开发 ------ Canvas 9.3 绘制图片
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Html5 用canvas绘制图片,绘制不出来
- 修改图片模糊问题canvas.drawImage
- Java实习感悟
- vsual studio 统计代码行数
- Zend Framework 访问控制列表(ACL)设置示例之一
- Socket编程中Interrupted system call 解释及解决办法
- hdu2036 改革春风吹满地
- html5 canvas绘制图片模糊的问题
- Superuser总结一
- openfire
- refreshing X Gradle project, building ‘MyApplication' Gradle project info ------android studio
- Java中泛型插入排序,继承Comparable接口
- Struts、Servlet对Ajax的简单实现
- Visual C++实现微秒级精度定时器
- 第17周项目5-玩日期时间
- driver 中计算时间