我的编程空间,编程开发者的网络收藏夹
学习永远不晚

canvas绘图不清晰怎么办

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

canvas绘图不清晰怎么办

这篇文章主要介绍了canvas绘图不清晰怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

现象描述

  同样大小的图片(60x60px)用canvas和DOM绘制,结果发现canvas的画面质量要差很多。结果如下图所示。

canvas绘图不清晰怎么办

  上图中,左侧红框中的金币采用DOM绘制,右侧和下方的金币和文字等使用canvas绘制,结果canvas绘制的图片模糊不清。

原因分析

  假设dpr = 2;图片大小为60x60px;对dpr有一定的了解基础。

  1.DOM呈现图片过程

  图片——》浏览器css像素(显示尺寸)——》屏幕实际像素

  60x60              30x30                              60x60

  图片像素——》实际像素

  1: 1

  2.canvas绘制过程

  图片像素——》canvas像素(画布尺寸)——》css像素(显示尺寸)——》屏幕实际像素

  60x60               30x30                              30x30                          60x60

  图片像素——》画布像素——》实际像素

  4:                    1:                  4

  也就是说,canvas的绘制过程中图片到画布的过程中进行了像素的抽稀,画布到屏幕像素时又进行了插值,所以造成图片质量下降。

解决方案

  放大画布的尺寸,但是canvas显示尺寸不变;

  图片像素——》canvas像素(画布尺寸)——》css像素(显示尺寸)——》屏幕实际像素

  60x60               60x60                                           30x30            60x60

  图片像素——》实际像素

  1:                1 

而canvas的设计的时候正好有对象的属性来分别管理画布尺寸和显示尺寸;canvas的width、height属性用于管理画布尺寸;canvas的style属性中的width、height正好是显示尺寸。

也就是说解决方案就是设置舞台的尺寸和图片像素的尺寸一致,显示尺寸为正常显示尺寸;假设canvas的显示尺寸为窗口宽度,创建canvas的时候指定canvas的width属性为2 * body.clientHeight;style.widht为body.clientHeight + 'px';

改变后的效果图如下:

canvas绘图不清晰怎么办

感谢你能够认真阅读完这篇文章,希望小编分享的“canvas绘图不清晰怎么办”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

canvas绘图不清晰怎么办

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php画图后不清晰怎么办

php画图后不清晰的解决办法:1、打开相应的php代码文件;2、查看“magejpeg()”函数;3、修改该函数中的参数,其语句为“imagejpeg($resource_img, $save_image, 100);”;4、释放图像资源所占用的内存即可。
2023-05-14

高清屏中使用Canvas绘图出现模糊怎么办

小编给大家分享一下高清屏中使用Canvas绘图出现模糊怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!高清屏出现以前,屏幕的一个物理像素就是css所定义的一个
2023-06-09

怎么在html2中使用canvas生成一个清晰的图片

怎么在html2中使用canvas生成一个清晰的图片?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。基本用法window.html2canvas(dom, {
2023-06-09

canvas在绘图时位置偏离怎么办

这篇文章主要介绍了canvas在绘图时位置偏离怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用 canvas 绘图时,指定的 div 大小一定不要超过该 div 所能
2023-06-09

python怎么将图片变清晰

要将图像变得更清晰,可以尝试使用图像处理库如Pillow或OpenCV来进行图像处理。以下是使用Pillow库的示例代码:```pythonfrom PIL import Image, ImageFilter# 打开图像image = Im
2023-09-15

ps图片缩小后图像模糊不清晰怎么解决

本篇内容介绍了“ps图片缩小后图像模糊不清晰怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ps图片缩小后图像模糊不清晰解决方法:1、
2023-07-02

HTML5中Canvas怎么绘制图片

这篇文章给大家分享的是有关HTML5中Canvas怎么绘制图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获取Image对象,new出来定义Image对象的src属性,参数:图片路径定义Image对象的onlo
2023-06-09

Android怎么使用Glide加载清晰长图

这篇文章给大家分享的是有关Android怎么使用Glide加载清晰长图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Glide概述使用习惯Glide3的朋友总会觉得Glide 4相对于Glide 3改动非常大,其
2023-06-14

怎么在canvas-id对应的canvas上进行绘图

本文小编为大家详细介绍“怎么在canvas-id对应的canvas上进行绘图”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在canvas-id对应的canvas上进行绘图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
2023-06-26

怎么在Android中利用canvas绘图

今天就跟大家聊聊有关怎么在Android中利用canvas绘图,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MainActivity的代码如下:package example.com
2023-05-30

怎么在html5中利用Canvas绘图

怎么在html5中利用Canvas绘图?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、什么是CanvasCanvas 是H5的一部分,允许脚本语言动态渲染图像。Canva
2023-06-09

怎么在HTML5中canvas进行绘图

怎么在HTML5中canvas进行绘图?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。是HTML5中新增的标签,用于绘制图形,实
2023-06-09

win8相机模糊怎么办如何改善清晰度

操作步骤:点摄像头选项,里面有个更多,如图:更多里面有调整亮度和对比度,可以通过降低对比度和调整亮度来改善清晰度。打开相机,选择摄像头选项,选择照片分辨率,点开下来菜单;分辨率如图,可以设置四种方案,调整即可。通过调整分辨率也可以提升清晰度
2022-06-04

使用canvas怎么绘制一个心电图

这期内容当中小编将会给大家带来有关使用canvas怎么绘制一个心电图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。思路:1.模拟点(如果你有真实的数据,那就是把数据幻化成canvas对应的坐标点)模拟点时
2023-06-09

编程热搜

目录