canvas中图片大小自适应 您所在的位置:网站首页 使用JavaScript获取图像大小高度和宽度 canvas中图片大小自适应

canvas中图片大小自适应

2024-07-15 02:26| 来源: 网络整理| 查看: 265

canvas中图片自适应

图片在canvas中自适应大小并居中。 通常图片大小与canvas的大小是不同的,分为以下几种情况

图片高或宽,超过canvas高或宽图片高、宽,都超过canvas高宽;图片高、宽都小于canvas高、宽

问题的本质其实是动态计算图片大小,并在canvas适合的位置画出图片

直接上代码

canvas中图片大小自适应 #canvas { box-shadow: 0 0 2px black; } window.onload = () => { var canvas = document.getElementById("canvas"); var w = canvas.width; var h = canvas.height; if (canvas.getContext) { var ctx = canvas.getContext('2d'); var img = new Image() img.src = 'https://gtms02.alicdn.com/tps/i2/TB1ZeJGIXXXXXcnXXXXDgwcQVXX-375-130.jpg' // 图片地址示例 img.onload = function () { var iw = this.width; var ih = this.height; var local = calculate(iw, ih) ctx.fillStyle = 'white'; ctx.fill(); ctx.drawImage(this, local.px, local.py, local.pw, local.ph) } } // 计算出图片画在canvas中的四个参数 function calculate(pw, ph) { var px = 0; var py = 0; if(pw var uu = ph; ph = h pw = pw * h / uu px = 0.5 * w - 0.5 * pw; } else { var uu = pw; pw = w; ph = ph * pw / uu py = 0.5 * h - 0.5 * ph; } return {px, py, pw, ph} } }

注意将示例中图片的src替换成自己的图片地址



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有