canvas绘制图片

Posted ye-hcj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas绘制图片相关的知识,希望对你有一定的参考价值。

canvas绘制图片

  1. 方法

    canvas支持image,svg,video,canvas的绘制
    
    drawImage(image, x, y)                                               在坐标x,y处绘制图片
    drawImage(image, x, y, width, height)                                指定绘制图片的大小
    drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)   在图片sx,sy处截取sWidth,sHeight部分,以dWidth,dHeight大小绘制到canvas中dx,dy位置       
  2. 以原始尺寸绘制图片

    技术图片

    const canvas = document.getElementById(‘canvas‘);
    const ctx = canvas.getContext(‘2d‘);
    
    var img = new Image();
    img.src = ‘https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1549708412613&di=3cc8f0482453754248fc38c062a15f00&imgtype=0&src=http%3A%2F%2Fpic2.16pic.com%2F00%2F17%2F04%2F16pic_1704757_b.jpg‘;
    img.onload = function() {
        ctx.drawImage(img, 0, 0)
    };
  3. 以指定尺寸绘制图片

    技术图片

    var img = new Image();
    img.src = ‘https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1549708412613&di=3cc8f0482453754248fc38c062a15f00&imgtype=0&src=http%3A%2F%2Fpic2.16pic.com%2F00%2F17%2F04%2F16pic_1704757_b.jpg‘;
    img.onload = function() {
        ctx.imageSmoothingEnabled = false;
        ctx.drawImage(img, 0, 0, 200, 300)
    };
  4. 截取图片部分

    技术图片

    var img = new Image();
    img.src = ‘https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1549708412613&di=3cc8f0482453754248fc38c062a15f00&imgtype=0&src=http%3A%2F%2Fpic2.16pic.com%2F00%2F17%2F04%2F16pic_1704757_b.jpg‘;
    img.onload = function() {
        ctx.imageSmoothingEnabled = false;
        ctx.drawImage(img, 150, 100, 400, 200, 0 ,0, 400, 200);
    };

以上是关于canvas绘制图片的主要内容,如果未能解决你的问题,请参考以下文章

70行代码绘制canvas圣诞树:无需引入图片和外部文件

70行代码绘制canvas圣诞树:无需引入图片和外部文件

小程序--------------处理canvas导出图片模糊问题-------------劉

canvas绘制图片

jscanvas画图放大是文字不变

canvas 多张图片绘制层级问题