解决方法

使用canvas进行画图在分辨率高的设备上会出现模糊现象,解决这种问题的思路是:

  1. 首先讲画布的大小进行按照设备进行放大devicePixelRatio属性进行相应的调整,设个属性是表示浏览器通常会使用几个像素点进行渲染我们设定的1像素(通常会使用2像素进行渲染)。
  2. 然会将画好的图像使用scale()进行相应的放大
    这样就可以将图像的模糊问题进行解决了。
    下面是应用的一个小例子:
var canvas = document.getElementById("canvas")context= canvas.getContext("2d");  var devicePixelRatio = window.devicePixelRatio || 1;var backingStoreRatio = context.webkitBackingStorePixelRatio ||context.mozBackingStorePixelRatio ||context.msBackingStorePixelRatio ||context.oBackingStorePixelRatio ||context.backingStorePixelRatio || 1;var ratio = devicePixelRatio / backingStoreRatio;canvas.width = canvas.width * ratio;canvas.width = canvas.height* ratio;context.scale(ratio, ratio);ctx.translate(0.5, 0.5);ctx.lineWidth = 1;ctx.moveTo(2.5, 2);ctx.lineTo(98.5, 2);ctx.lineTo(98.5, 98);ctx.lineTo(2.5, 98);ctx.lineTo(2.5, 2);ctx.stroke();

参考文档

  1. html5 canvas绘制图片模糊的问题
  2. 设备像素比devicePixelRatio简单介绍
  3. 解决canvas画图模糊的问题

canvas画图出现模糊现象相关推荐

  1. 解决canvas画图模糊的问题

    canvas 画图经常发现他是模糊的.解决这个问题主要从两个方面下手. 改变canvas渲染的像素 情况:画1像素的线条看起来模糊不清,好像更宽的样子. 解决方案 var ctx = canvas.g ...

  2. matlab 显示图像 画布太大,canvas画图被放大且模糊的解决方法

    先来理解canvas的这几个宽度和高度 canvas.width是画布的大小,而canvas.style.width是浏览器渲染的canvas的尺寸 第一个问题:画布的高度和宽度 画布的宽和高一定要在 ...

  3. canvas 边界模糊_解决canvas画图模糊的问题

    canvas 画图经常发现他是模糊的.解决这个问题主要从两个方面下手. 改变canvas渲染的像素 情况:画1像素的线条看起来模糊不清,好像更宽的样子. 解决方案 var ctx = canvas.g ...

  4. canvas画图模糊问题

    使用canvas画图时,会遇到图片模糊的问题. 1.可以使用hidpi-canvas-polyfill: 举个栗子 var getPixelRatio = function(context) {var ...

  5. canvas 画图移动端出现锯齿毛边的解决方法

    最近项目中用的canvas 越来越多,但是之前都是在canvas 上画图片, 最近这次是做一个折线图,自己画出来以后发现有锯齿,百度一番后找到了解决办法,记录到博客里. 声明一下,我用的是第二种方法, ...

  6. HTML5 canvas画图

    HTML5 canvas画图 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅 ...

  7. html5 canvas 画图移动端出现锯齿毛边的解决方法

    html5 canvas 画图移动端出现锯齿毛边的解决方法 参考文章: (1)html5 canvas 画图移动端出现锯齿毛边的解决方法 (2)https://www.cnblogs.com/dear ...

  8. 小程序---canvas画图,生成分享图片,画图文字换行

    小程序目前只支持转发,不支持分享朋友圈,为了能实现分享,很多线上小程序通过生成分享图片,保存到相册来给用户增加分享的可能. 具体思路及简要代码如下: 一:canvas画图drawCanvas:func ...

  9. [转]html5 Canvas画图教程(1)—画图的基本常识

    今天看到一个讲Canvas的教程,很通俗移动,所以转载了下. 虽然大家都称Canvas为html5的新标签,看起来好像Canvas属于html语言的新知识,但其实Canvas画图是通过javascri ...

最新文章

  1. Docker实战9 之Dockerfile深入实践
  2. 初试牛客网PAT练习之数素数
  3. 递归和分治的概念性的理解
  4. hive报错:hive create table: Specified key was too long; max key length is 767 bytes
  5. 利用脚本启动java程序
  6. 数字化方法基础(二)_点的投影
  7. 2022年由电子科技到整体科技
  8. WireShark抓包分析
  9. UG二次开发UFUN C NXOpen C++全套视频教程
  10. 三相逆变器双pi控制器参数如何调节_单相光伏并网逆变器的环路控制
  11. 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
  12. k8s初级班day2
  13. uc手机浏览器 手机模拟_移动端页面调试工具——UC浏览器开发者版
  14. uni-app 前后端实战课 - 《悦读》
  15. android opengl 坐标系,Android OpenGL ES从白痴到入门(五):妖艳的着色器
  16. SRS 代码分析【mpeg-ts解析】
  17. 第六届蓝桥杯大赛个人赛决赛(软件类)真题
  18. 操作系统发展历程 (Unix、Linux、windows)
  19. 密码子偏好性分析~codonW,EMBOSS:CUSP(图文教程)
  20. 惠普触控板使用指南_惠普笔记本怎么关触控板?

热门文章

  1. Linux系统学习攻略带你学会Linux
  2. 黑桃k游戏java实战_JAVA入门第三季综合实战-简易扑克游戏
  3. void operator()()的功能
  4. 想归隐啦——与自然生活为伴
  5. 转载:ora12505解决方法
  6. LMX2594的寄存器写入
  7. SocialBook帮你扫清网红KOL营销的“雷区”
  8. Annual work summary
  9. php的循环有哪几种,PHP数组循环遍历的几种方式
  10. HDU 5037 Frog