首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Cavas.drawImage图片拉伸问题

Cavas.drawImage图片拉伸问题

作者头像
发布2021-11-08 10:19:21
发布2021-11-08 10:19:21
2.2K00
代码可运行
举报
文章被收录于专栏:IT杂症IT杂症
运行总次数:0
代码可运行

canvas在和jq.width()设置宽高的时候会出现拉伸情况。

产生拉伸的方式

能产生拉伸的还有行间style样式也会产生变形拉伸 canvas.style.width = "1000px";也会产生变形 百分比也会产生变形

不会拉伸的方式

直接写width,height不会产生变形 $('#myCanvas').attr('width',width)

代码语言:javascript
代码运行次数:0
运行
复制
   <img id='source' src="https://img.lookcss.com/posters.jpg" style="display: none;" />
    <canvas id="myCanvas">
    </canvas>
<button class="btn" style="padding:20px">生成海报</button>
<script>
       $(function () {
   var w = $(window).width()
   var h = $(window).height()
   var cvs = document.getElementById('myCanvas');
   var ctx = cvs.getContext('2d')
    $('#myCanvas').width(w)
    $('#myCanvas').height(h)
        var imgPath = document.getElementById('source');
        ctx.drawImage(imgPath, 0, 0, 445, 790, 0, 0, 445, 790) 
//这样的canvas会出现拉伸情况

   $(".btn ").click(function () {       
                $('#myCanvas').attr('width', w-10)
            $('#myCanvas').attr('height', h-10)        
//使用attr或者canvas直接指定宽高的话不会出现问题
                ctx.drawImage(imgPath, 0, 0, 445, 790, 0, 0, 445, 790)          
        });

)}
</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年11月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 产生拉伸的方式
  • 不会拉伸的方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档