• 首页
  • 电影
  • Js
  • 前端
  • 新旅
  • 奇技
  • 网安
  • 歌单
  • 关于
  • 搜索
  • 夜间模式
    ©2013-2025  成长小破站 Theme by OneBlog
    搜索
    标签
    # css # js # uniapp # ps # chrome # 小程序 # javascript # 布局 # typecho # 激活码
  • 首页>
  • Javascript>
  • 正文
  • Cavas.drawImage图片拉伸问题

    2019年11月29日 1.6 k 阅读 0 评论 1230 字

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

    产生拉伸的方式

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

    不会拉伸的方式

    直接写width,height不会产生变形
    $('#myCanvas').attr('width',width)
       <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>

    本文著作权归作者 [ admin ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    canvas
    取消回复

    发表留言
    回复

    首页电影Js前端新旅奇技网安歌单关于
    Copyright©2013-2025  All Rights Reserved.  Load:0.034 s
    豫公网安备41050202000235   豫ICP备18019224号-2
    Theme by OneBlog V3.6.4
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。