登录  /  注册
首页 > web前端 > H5教程 > 正文
HTML5 canvas画布详解(五)
黄舟
发布: 2017-03-17 15:50:31
原创
1045人浏览过

drawImage共提供了三个方法:

1.在画布上定位图像。

context.drawImage(img,x,y);
登录后复制

2.在画布上定位图像,并指定图像的宽度和高度。

context.drawImage(img,x,y,width,height);
登录后复制

3.裁切图像,并在画布上定位被裁切的部分。

context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
登录后复制

    参数描述
    img规定要使用的图像、画布或视频。
    sx开始剪切图像的 x 坐标位置。
    sy开始剪切图像的 y 坐标位置。
    swidth被剪切图像的宽度。
    sheight被剪切图像的高度。
    x在画布上放置图像的 x 坐标位置。
    y在画布上放置图像的 y 坐标位置。
    width要绘制的图像的宽度。(伸展或缩小图像)
    height要绘制的图像的高度。(伸展或缩小图像)

下面代码包含了以上把图像绘制到canvas上的三种方法:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>canvas绘图</title>
    <script>
    window.onload = function()
    {
        drawCanvas1();
        drawCanvas2();
        drawCanvas3();
    }
    //context.drawImage(img,x,y);
    function drawCanvas1()
    {
        var canvas = document.getElementById("myCanvas1");
        var context = canvas.getContext("2d");
        //将图片绘制到canvas上
        var img = new Image();
        img.src = "1.jpg";
        img.onload = function()
        {
            context.drawImage(img, 0, 0);
        };

        context.textAlign = "center";
        context.fillText("context.drawImage(img,x,y)画原图", 250, 350);
    }

    //context.drawImage(img,x,y,width,height);
    function drawCanvas2()
    {
        var canvas = document.getElementById("myCanvas2");
        var context = canvas.getContext("2d");
        //将图片绘制到canvas上
        var img = new Image();
        img.src = "1.jpg";
        img.onload = function()
        {
            context.drawImage(img, 0, 0, 500, 300);
        };

        context.textAlign = "center";
        context.fillText("context.drawImage(img,x,y,width,height)指定宽和高进行拉伸和缩放", 250, 350);
    }

    //context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
    function drawCanvas3()
    {
        var canvas = document.getElementById("myCanvas3");
        var context = canvas.getContext("2d");
        //将图片绘制到canvas上
        var img = new Image();
        img.src = "1.jpg";
        img.onload = function()
        { 
            context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200);
        };

        context.textAlign = "center";
        context.fillText("context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height)", 250, 350);
        context.fillText("裁切图片的一部分绘制在画布上,并可进行缩放", 250, 370);
    }

    </script>
</head>
<body>
    <canvas id="myCanvas1" width="500" height="400" style="border:#F00 solid 1px">
        您的浏览器不支持canvas
    </canvas>
    <canvas id="myCanvas2" width="500" height="400" style="border:#F00 solid 1px">
        您的浏览器不支持canvas
    </canvas>
    <canvas id="myCanvas3" width="500" height="400" style="border:#F00 solid 1px">
        您的浏览器不支持canvas
    </canvas>
    <br />
</body>
</html>
登录后复制

效果如下:
这里写图片描述
第一幅:context.drawImage(img, 0, 0)为从画布(0,0)开始绘制,绘制图像原大小。
第二幅:context.drawImage(img, 0, 0, 500, 300)表示为从画布(0,0)开始绘制,并指定绘制图像的宽和高分别为500、300,因此原图会被拉伸或缩小。
第三幅:context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200);表示从图像的(200,100)位置开始裁切宽和高分别为200、200的部分,并放置在画布的(0,0)位置,并指定绘制图像的宽高分别为200、200。

以上就是HTML5 canvas画布详解(五)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学