if (isset($_POST['agree'])) { // 判断 POST 请求中的 cid 是否是本篇文章的 cid if ($_POST['agree'] == $this->cid) { // 调用点赞函数,传入文章的 cid,然后通过 exit 输出点赞数量 exit(agree($this->cid)); } // 如果点赞的文章 cid 不是本篇文章的 cid 就输出 error 不再往下执行 exit('error'); }

Cavas.drawImage图片拉伸问题

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

Cavas.drawImage图片拉伸问题

产生拉伸的方式

能产生拉伸的还有行间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>

Cavas.drawImage图片拉伸问题

来都来了,留个言吧🙂