最近遇到这样的问题,使用canvas输出图片,图片比canvas区域大,尺寸限制之后反而变得特别模糊:

代码:

        var c = document.getElementById("myimage");//canvas的idvar ctx=c.getContext("2d");var img=new Image();img.src = 图片地址;img.addEventListener('load',imgin);function imgin(){c.width = $(window).width();c.height = $(window).width()*img.height/img.width;clearInterval(m);ctx.clearRect(0,0,c.width,c.height);ctx.drawImage(img,0,0,c.width,c.height);}$(window).resize(function(){imgin();});

解决:先让图片以原先尺寸呈现,再用css限制:

var c = document.getElementById("myimage");<span style="font-family: Arial, Helvetica, sans-serif;">//canvas的id</span>var ctx=c.getContext("2d");var img=new Image();img.src = ...;//<span style="font-family: Arial, Helvetica, sans-serif;">图片地址;</span>img.addEventListener('load',imgin);function imgin(){// c.width = $(window).width();// c.height = $(window).width()*img.height/img.width;c.width = img.width;//重点c.height = img.height;<//重点clearInterval(m);ctx.clearRect(0,0,c.width,c.height);ctx.drawImage(img,0,0,c.width,c.height);c.style.width = '100%';//重点}$(window).resize(function(){imgin();});

效果:

Canvas-drawImage 绘制图片模糊问题相关推荐

  1. CANVAS drawImage 绘图图片模糊已解决

    CANVAS drawImage 绘图图片模糊解决 不可以在CSS中定死canvas画布的长宽, 在绘图时给出canvas宽高 具体JS代码: const canvas = document.getE ...

  2. Canvas - 绘制图片模糊问题(canvas 生成图片模糊)

    Canvas绘制模糊 文章目录 Canvas绘制模糊 零.问题背景与解决思路 一.涉及到的Api 1.关于window.devicePixelRatio canvas出现模糊的原因 第一块屏幕测试 w ...

  3. html5canvas绘制图片源码,HTML5 CANVAS:绘制图片

    HTML5 CANVAS:绘制图片 通过前面的学习,我们现在已经可以在HTML5 canvas中绘制图形和文字,并给它们设置一些样式.我们还可以在中绘制图片.用于在作为绘制源的图片可以是下面的几种元素 ...

  4. 前端html生成图片,HTML5 Canvas:绘制图片

    通过前面的学习,我们现在已经可以在HTML5 canvas中绘制图形和文字,并给它们设置一些样式.我们还可以在中绘制图片.用于在作为绘制源的图片可以是下面的几种元素类型: HTMLImageEleme ...

  5. 微信小程序canvas 2d 绘制图片与文字 导出图片

    wxml内容 如下 <canvas id="myCanvas" type="2d"style="width: {{ canvas.width } ...

  6. 小程序 canvas 2d 绘制图片并保存

    获取canvas实例,使用的官方的代码.用一个变量canvas保存实例,后续保存时会调用. data () {return {canvas: null // 实例} }, onReady() {con ...

  7. H5 canvas画布 字体图片模糊变清晰

    H5 canvas画布 字体图片模糊处理 <canvas id="canvas " width="386px" height="386px&qu ...

  8. html5中Canvas、绘制线条模糊、常见绘制工具、绘制基本图形、绘制图片、面向对象的方式绘制图形图片、绘制文本、帧动画绘制

    Canvas容器: canvas标签用来定义图像的容器,必须配合脚本来绘制图像,canvas也运用于游戏开发.注意:canvas绘制图时会出现线条模糊情况,这是因为显示屏像素和canvas中定义的一个 ...

  9. 微信小程序合成海报_微信小程序 canvas生成海报图片模糊问题

    一.制作正常显示海报,生成二倍海报隐藏 代码如下 {{sendName}} 保存图片 /*css*/ .btn { width: 300rpx; height: 90rpx; line-height: ...

  10. 【HTML】Canvas(3)-绘制图片

    开发游戏的时候,游戏中的地图.背景.任务.物品等都是由图片组成的,这次我们来谈谈在canvas中如何操作图片吧. canvas中提供了drawImage函数和putImageData函数来绘制图片. ...

最新文章

  1. Opencv4测试报错00007FFB3253A9C0 (ntdll.dll)处引发的异常: 0xC0000005: 读取位置 0x0000000000000010 时发生访问冲突
  2. memcached ---- 学习笔记
  3. java is alphabetic_JDK之Pattern类探索(一)
  4. boost::coroutine2模块实现解析器的测试程序
  5. linux删除文件夹提示没找到,Win10中遇到删除文件夹提示找不到该项目的解决过程...
  6. shell脚本每日一练(三)
  7. 转载[POJ题型分类]
  8. 第一次连接mysql失败_MySQL 远程连接失败
  9. python2编码问题解决了吗_Python2编码问题
  10. ansible的参数及常用模块
  11. Mybatis源码之数据源模块分析
  12. 龙应台--为什么我要求你读书用功
  13. 网络空间安全现状与国家战略
  14. 用python写了个简单的178漫画下载器
  15. 精品餐饮业奢华西餐专业PPT-朴尔PPT
  16. 男人一生的四菜一汤(转载)
  17. Mac菜鸟必备小工具- Mounty 原生支持 NTFS 读写驱动应用
  18. 你看不到的华为两大“笨功夫”
  19. 如何修改桌面的存放路径?(将桌面放到D盘或E盘)
  20. 探索 TDengine在《图码联侦》项目中的应用可行性及实践研究

热门文章

  1. spark与storm的对比
  2. Keras:Transfer learning
  3. 数据中台和业务中台的区别
  4. h5 video全屏播放
  5. Java程序员---技能树
  6. iOS - Swift Foundation 框架
  7. 骨传导技术:帮你摆脱噪音的困扰
  8. 45套精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
  9. 获取表单对象,得三种方法getElementById(), getElementsByName(), and getElementsByTagName() 和用法...
  10. Wordpress 修改 mysql 插件_史上最详细的WordPress安装教程(三):安装php 5.6及fpm、pdo、mysql等插件...