HTML canvas drawImage() 方法

返回上一级

Canvas 对象的 drawImage() 方法在画布上绘制图像、画布或视频

drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸

语法

context.drawImage(img,x,y)

将图像绘制到画布上,并设定图像的宽度和高度

context.drawImage(img,x,y,width,height)

剪切图像,并在画布上定位被剪切的部分

context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height)

参数值

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

浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 drawImage() 方法

Internet Explorer 8 及之前的版本不支持 <canvas> 元素

要使用的图片

范例

向画布上面绘制图片

你的浏览器不支持 canvas 元素
var img1 = document.createElement("img");
img1.src="/static/i/img3.jpg";
img1.onload= function() {
    var c=document.getElementById("canvas-1");
    var canvOK=1;
    try {c.getContext("2d");}
    catch (er) {canvOK=0;}
    if (canvOK==1)
    {
        var ctx=c.getContext("2d");
        var img= this
        ctx.drawImage(img,10,10);
    }
}

运行范例 »

范例 2

在画布上对图像进行定位,然后规定图像的宽度和高度

你的浏览器不支持 canvas 元素
var img2 = document.createElement("img");
img2.src="/static/i/img3.jpg";
img2.onload= function() {
    var c=document.getElementById("canvas-2");
    var canvOK=1;
    try {c.getContext("2d");}
    catch (er) {canvOK=0;}
    if (canvOK==1)
    {
        var ctx=c.getContext("2d");
        var img= this;
        ctx.drawImage(img,10,10,150,180);
    }
}

运行范例 »

范例

剪切图片,并在画布上对被剪切的部分进行定位

你的浏览器不支持 canvas 元素
var img3 = document.createElement("img");
img3.src="/static/i/img3.jpg";
img3.onload= function() {
    var c=document.getElementById("canvas-3");
    var canvOK=1;
    try {c.getContext("2d");}
    catch (er) {canvOK=0;}
    if (canvOK==1)
    {
        var ctx=c.getContext("2d");
        var img= this;
        ctx.drawImage(img,90,130,50,60,10,10,50,60);
    }
}

运行范例 »

范例

要使用的视频 (请按下播放键以开始演示)

画布


你的浏览器不支持 canvas 元素

每 20 毫秒,代码就会绘制视频的当前帧)

var v=document.getElementById("video1");
var c=document.getElementById("canvas-4");
ctx=c.getContext('2d');
v.addEventListener('play',function() {var i=window.setInterval(function() 
{ctx.drawImage(v,5,5,260,125)},20);},false);
v.addEventListener('pause',function() {window.clearInterval(i);},false);
v.addEventListener('ended',function() {clearInterval(i);},false);

运行范例 »

返回上一级

JavaScript 参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.