首頁 > web前端 > H5教程 > 主體

HTML5 canvas畫布詳解(五)

黄舟
發布: 2017-03-17 15:50:31
原創
1463 人瀏覽過

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);
登入後複製

    規定要使用的圖像、畫布或影片。 開始剪下影像的 x 座標位置。 開始剪下影像的 y 座標位置。 被剪切影像的寬度。 被剪切影像的高度。 在畫布上放置影像的 x 座標位置。 在畫布上放置影像的 y 座標位置。 要繪製的圖像的寬度。 (伸展或縮小影像)
    參數#描述
    img
    sx
    sy
    swidth
    sheight
    x
    y
    width

height

要繪製的影像的高度。 (伸展或縮小圖像)
HTML5 canvas畫布詳解(五)


下面程式碼包含了以上把圖像繪製到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.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板