canvas 中插入的图片自适应铺满容器

  • 在 canvas 中插入图片,使图片自适应的充满布局容器!

HTML

  <canvas id="myCanvas7" width="200" height="200" style="border:1px solid #895;margin-right:20px;margin-bottom:20px;">您的浏览器不支持canvas</canvas>

JS

    var c7 = document.getElementById("myCanvas7");
    var cW = c7.offsetWidth;    // 获取元素宽度
    var cH = c7.offsetHeight;   // 获取元素高度
    
    var imgObj = new Image();
    imgObj.src = "../../images/1.jpg";
    var imgW = '';
    var imgH = '';
    
    imgObj.onload = function() {
        imgW = imgObj.width;
        imgH = imgObj.height;
        var ctx7 = c7.getContext("2d");
        ctx7.drawImage(this,0,0,cW,imgH*cW/imgW)
    }

效果图:

image.png

另外说一下 canvas 的 drawImage 方法参数

  • drawImage函数有三种函数原型:
  • drawImage(image, dx, dy)
  • drawImage(image, dx, dy, dw, dh)
  • drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)
  • 第一个参数image可以用HTMLImageElement,HTMLCanvasElement或者HTMLVideoElement作为参数。
  • dx和dy是image在canvas中定位的坐标值;
  • dw和dh是image在canvas中即将绘制区域(相对dx和dy坐标的偏移量)的宽度和高度值;
  • sx和sy是image所要绘制的起始位置;
  • sw和sh是image所要绘制区域(相对image的sx和sy坐标的偏移量)的宽度和高度值。
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 利用 Canvas 的 API,展示一些基本图形的绘制及操作方法,包括画线、画图、文字操作及图片操作等。(内含代码...
    广陵周惊蛰阅读 4,260评论 3 1
  • canvas元素的基础知识 在页面上放置一个canvas元素,就相当于在页面上放置了一块画布,可以在其中进行图形的...
    oWSQo阅读 13,496评论 0 19
  • 最近工作中碰到一个需求,实现一个自定义的二维码 背景是一张自定义的图片 二维码居中展示 在微信里长按可识别 类似于...
    pengtoxen阅读 4,743评论 0 0
  • 最近帮学校官方微信做了一个头像合成的小页面,用户可以自己选择本地照片,上传并裁剪后,与学校logo合成最终图片,用...
    想酷却酷不起来阅读 10,968评论 0 5
  • HTML5中引入新的元素canvas,其drawImage 方法允许在 canvas 中插入其他图像( img 和...
    Harlen_luan阅读 23,097评论 0 7

友情链接更多精彩内容