canvas宽高技巧(canvas画图被放大且模糊的解决方法)
类别:Web前端 浏览量:2590
时间:2021-10-18 11:33:40 canvas宽高技巧
canvas画图被放大且模糊的解决方法先来理解canvas的这几个宽度和高度
canvas.width是画布的大小,而canvas.style.width是浏览器渲染的canvas的尺寸
第一个问题:画布的高度和宽度
画布的宽和高一定要在canvas标签中设置,如果是在css样式中设置,则不起作用,画布会按照默认尺寸width:300px,height:150px显示
//在标签中设置宽和高 <canvas id="canvas" width="324" height="622" >
除了直接在canvas标签设置,还可以在绘制的时候设置,注意画布的宽高不需要单位
canvas.width = 324; canvas.height = 622;
第二个问题:绘制的图形被放大,图像模糊
这是由于手机的设备独立像素和物理像素不一致,设备像素比=物理像素/设备独立像素,大部分手机的设备像素比为2,这意味着100px的图像要放在200px中才可以正常显示
用devicePixelRatio可以获取到设备像素比,获取到像素比后,我们就可以控制图形的缩放比例
scale = window.devicePixelRatio;
刚刚说了,canvas.style.width是浏览器渲染的canvas的尺寸,那要想你画的图形正确且清楚的显示在画布中,你需要设置正确的style.width和style.height,如下图,注意加上单位。
canvas.style.width = canvas.width / scale + 'px'; canvas.style.height= canvas.height/ scale + 'px';
上面我们设置了画布的宽度为324,如果不设置style.width,则画的图形会被放大到2倍显示。
到此这篇关于canvas画图被放大且模糊的解决方法的文章就介绍到这了,更多相关canvas图被放大且模糊内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
您可能感兴趣
- html5canvas动画(html5 canvas 实现光线沿不规则路径运动)
- canvas 绘图解决方案(高清屏下canvas重置尺寸引发的问题的解决)
- canvas实现滚动列表(Canvas实现贝赛尔曲线轨迹动画的示例代码)
- canvas如何保存当前的图片(canvas如何实现多张图片编辑的图片编辑器)
- canvas 中文字体(详解canvas绘制网络字体几种方法)
- html5的canvas代码(H5最强接口之canvas实现动态图形功能)
- 使用canvas画个正方形(canvas绘制树形结构可视图形的实现)
- canvas俄罗斯方块(JavaScript canvas实现俄罗斯方块游戏)
- 小程序canvas不显示(小程序canvas中文字设置居中锚点)
- html使用canvas画矩形(CSS、SVG和canvas分别实现文本文字纹理叠加效果)
- canvas图片填充位置(手摸手教你用canvas实现给图片添加平铺水印的实现)
- canvas绘制动态线条(5分钟实现Canvas鼠标跟随动画背景)
- 前端ui 滑动条(AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码)
- html5canvas案例(h5使用canvas画布实现手势解锁)
- 如何使用html5的canvas图(html5 canvas实现给图片添加平铺水印)
- 微信小程序canvas缩放(微信小程序之html5 canvas绘图并保存到系统相册)
- 44岁夏雨演谋女郎爸,大其24岁却看不出,互动不怕袁泉吃醋(44岁夏雨演谋女郎爸)
- 全椒人,你还记得吗 那年,那人,那网,那些我们的青春记忆(全椒人你还记得吗)
- 全椒人在苏州10周年联谊会在苏州举办(全椒人在苏州10周年联谊会在苏州举办)
- 这个全椒人被通报表彰,看看你认识吗(这个全椒人被通报表彰)
- 全椒人,38年集体回忆 1980-2018 ,看完不要哭(全椒人38年集体回忆)
- 董元奔吟咏历代文人 1012新旧均可 全椒人张璪 1022 -1093(董元奔吟咏历代文人)
热门推荐
- thinkphp微信开发实例(ThinkPHP框架下微信支付功能总结踩坑笔记)
- DBnull和null的区别
- mysql快速备份数据(如何使用Maxwell实时同步mysql数据)
- python pandas 匹配值(python 使用pandas计算累积求和的方法)
- docker主机路径与容器路径(Docker容器没有权限写入宿主机目录的解决方案)
- 云主机和免备案空间(租用国内免备案云服务器空间靠谱吗?)
- asp.net中使用ueditor
- 基于docker的平台搭建(基于docker搭建selenium分布式环境)
- 腾讯云服务器怎么安装宝塔(腾讯云服务器无法打开宝塔面板的解决方法放行安全组)
- pythondatetime库详解(python使用time、datetime返回工作日列表实例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9