先来理解canvas的这几个宽度和高度

canvas.width是画布的大小,而canvas.style.width是浏览器渲染的canvas的尺寸

第一个问题:画布的高度和宽度

画布的宽和高一定要在canvas标签中设置,如果是在css样式中设置,则不起作用,画布会按照默认尺寸width:300px,height:150px显示

//在标签中设置宽和高

除了直接在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图被放大且模糊内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

matlab 显示图像 画布太大,canvas画图被放大且模糊的解决方法相关推荐

  1. canvas画图被放大且模糊

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

  2. GEE|导出到google drive的文件太大,每次下载都中断的解决方法

    multcloud网址:https://www.multcloud.com/ multcloud账号注册很简单,一分钟即可成功.在邮箱点击激活邮件后登录multcloud,然后连接google dri ...

  3. 文件太大无法复制到U盘的解决方法教程

    1.    在"开始"点"运行",输入cmd. 2.调出命令提示符窗口,输入"convert 磁盘盘符 /fs:ntfs"命令即可将优盘格式 ...

  4. 大疆Livox Mid-40 SLAM 配置问题以及解决方法总结

    大疆Livox Mid-40 SLAM 配置问题以及解决方法总结 介绍基于Livox三维激光雷达和开源LOAM-Livox进行定位和建图实验. 出现的问题以及解决 介绍基于Livox三维激光雷达和开源 ...

  5. ps画布扩展颜色灰色不可用的原因和解决方法

    ps画布扩展颜色灰色不可用的原因和解决方法 参考文章: (1)ps画布扩展颜色灰色不可用的原因和解决方法 (2)https://www.cnblogs.com/hanxue53/p/12017315. ...

  6. mac u盘文件过大 拷贝不进去_U盘拷贝文件提示目标文件过大无法复制到U盘的解决方法...

    我们经常需要使用U盘来存储文件,但是在拷贝文件的时候却提示目标文件过大无法复制到U盘,但是查看U盘的存储空间肯定是足够的,那么问题有可能出在U盘的格式上.一般来说,fat32格式的U盘只允许拷贝或者创 ...

  7. matlab mat文件 太大,MATLAB .mat文件中的开销过大

    这对我来说似乎是个错误.解决方法是以块的形式写入预分配的数组. 从预先分配开始: fid = fopen('01_hit12.par', 'r'); data = fread(fid, inf, 'u ...

  8. 怎么用ajax导出word_Word文档太大怎么压缩?你应该用这种方法压缩

    大家应该都喜欢编辑将文件保存为Word文档形式,但是有时候呢由于文档太大我们可能无法上传成功,那么Word文档太大怎么压缩?大家可以学习下面的具体方法,真的可以有效的将文件压缩哦.大家可以尝试着这样压 ...

  9. word太大怎么压缩变小,word压缩方法

    word太大怎么压缩变小?前几天,公司领导发给我一个word文档,让我将文档发给客户,当我接收到word文档后发现文档的体积非常大,有40M自多.这么大的文档发送给别人非常的麻烦,我打开word文档一 ...

最新文章

  1. java getattribute intvalue_Java NodeTree.getAttributeI方法代码示例
  2. MSTP和MPLS专线有什么区别?——Vecloud
  3. Linux sh是/bin/bash的快捷方式
  4. springboot 单例_如何实现一个单例及优化
  5. python使用全局变量的坑,要使用global
  6. python3随机生成数字_五种方法实现python3-随机生成10位包含数字和字母的密码
  7. win10 动态磁盘 linux,教你如何将win10系统动态磁盘改成基本磁盘?
  8. 用户画像设计与搭建(附金融行业用户画像案例)
  9. 日记app(1.0)进展报告
  10. Win10鼠标右键菜单选项提示找不到应用程序解决方法
  11. 一个简单的文本编辑程序源代码
  12. 写500字关于漫威英雄的论文
  13. 【Python入门教程】第69篇 写入文本文件
  14. suma++[代碼分析一]: 主入口visualizer.cpp
  15. 去哪儿网BI平台建设演进与实践
  16. iOS 在线JSON转模型工具(Swift、Objective-C、Java)
  17. 机器学习第五周神经网络 反向传播 嗷嗷好
  18. Java代码解压RAR/ZIP文件
  19. 百度二级网页打不开_如何更新百度快照或者删除百度快照?
  20. 国内安卓环境有多差:200元做空壳app有36人中招

热门文章

  1. 手机端拖拽事件,获取pageX和pageY坐标方式
  2. 将网盘的存储空间挂载到本机上 <Windows解决方案>
  3. canvas生成随机(颜色位置)验证码
  4. 绘制ROC曲线95%置信区间
  5. Win10下破解 Idea2021.2 修改idea.vmoptions 导致IDEA 无法启动
  6. ggplot2学习笔记-修改坐标轴刻度
  7. 喜马拉雅第三方客户端开发(界面)。
  8. SQL基础教程--第二章练习题
  9. UESTC--1251--谕神的密码(贪心)
  10. 她的留言回复让我对中国IT的未来充满了希望