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画图被放大且模糊相关推荐
- matlab 显示图像 画布太大,canvas画图被放大且模糊的解决方法
先来理解canvas的这几个宽度和高度 canvas.width是画布的大小,而canvas.style.width是浏览器渲染的canvas的尺寸 第一个问题:画布的高度和宽度 画布的宽和高一定要在 ...
- 解决canvas画图模糊的问题
canvas 画图经常发现他是模糊的.解决这个问题主要从两个方面下手. 改变canvas渲染的像素 情况:画1像素的线条看起来模糊不清,好像更宽的样子. 解决方案 var ctx = canvas.g ...
- canvas 边界模糊_解决canvas画图模糊的问题
canvas 画图经常发现他是模糊的.解决这个问题主要从两个方面下手. 改变canvas渲染的像素 情况:画1像素的线条看起来模糊不清,好像更宽的样子. 解决方案 var ctx = canvas.g ...
- canvas画图模糊问题
使用canvas画图时,会遇到图片模糊的问题. 1.可以使用hidpi-canvas-polyfill: 举个栗子 var getPixelRatio = function(context) {var ...
- canvas画图出现模糊现象
解决方法 使用canvas进行画图在分辨率高的设备上会出现模糊现象,解决这种问题的思路是: 首先讲画布的大小进行按照设备进行放大devicePixelRatio属性进行相应的调整,设个属性是表示浏览器 ...
- HTML5 canvas画图
HTML5 canvas画图 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅 ...
- canvas 画图移动端出现锯齿毛边的解决方法
最近项目中用的canvas 越来越多,但是之前都是在canvas 上画图片, 最近这次是做一个折线图,自己画出来以后发现有锯齿,百度一番后找到了解决办法,记录到博客里. 声明一下,我用的是第二种方法, ...
- html5 canvas 画图移动端出现锯齿毛边的解决方法
html5 canvas 画图移动端出现锯齿毛边的解决方法 参考文章: (1)html5 canvas 画图移动端出现锯齿毛边的解决方法 (2)https://www.cnblogs.com/dear ...
- 小程序---canvas画图,生成分享图片,画图文字换行
小程序目前只支持转发,不支持分享朋友圈,为了能实现分享,很多线上小程序通过生成分享图片,保存到相册来给用户增加分享的可能. 具体思路及简要代码如下: 一:canvas画图drawCanvas:func ...
最新文章
- 泊松分布与正太分布在指导武器理论方面的使用
- Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
- context存放内容_Go语言爱好者周刊:第 58 期—关于 context
- eclipse log4j 日志直接定位到source
- 2013年7月28日web前端学习笔记-------head相关标签应用
- Sublime Text 3103 Crack 破解 注册码(亲测有效)
- BZOJ1079 [SCOI2008]着色方案 记忆化搜索
- 试验ConcurrentHashmap
- 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)
- html中表单的校验的插件,功能强大的jquery.validate表单验证插件
- JAVA中获得前一天的时间
- MFC开发IM-第二十五篇、往MFC编辑框最后面追加文本
- springboot国际化04
- 计算机电工电子怎么学,计算机在电子电工课中的应用
- arm模拟器手机版_基于ARM的模拟器
- 龙芯 python_在UOS20-龙芯(MIPS64EL)上安装 opencv-python
- Java 实现数字全排列
- Julia:Plots 包的属性汇总
- 弘辽科技:如何书写淘宝直通车创意标题才能带来更多的流量?
- Android高斯模糊、高斯平滑(Gaussian Blur)【2】