CanvasImageSource

CanvasImageSource是一个辅助类型,它不是一个接口,也没有对象实现它,描述下面类型的任何一个对象

HTMLImageElement,HTMLVideoElement,HTMLCanvasElement,CanvasRenderingContext2D或ImageBitmap

Canvas 可以用于动态的图片合成或者作为图形的背景,以及游戏界面(Sprites)等等。

一如图像到canvas里需要两个基本步骤:

1  获得一个指向HTMLImageElement的对象或者另一个canvas元素的引用作为源,也可以通过提供一个URL的方法来使用图片

2  使用drawImage() 函数将图片绘制到画布上。


获得需要绘制的图片

HTMLImageElement  这些图片是由Image()函数构造出来的,或者任何<img>元素

HTMLVideoElement  用于一个HTML的<video>元素作为图片原,可以用于视频中抓取当前帧作为一个图像

HTMLCanvasElement 用于使用另一个<canvas>元素作为图片源

ImageBigmap 这是一个高性能的位图,可以低延迟地绘制,它可以从以上述的所有源作为其它集中源中生成


使用相同页面的图片

· document.images 集合

· document.getElementsByTagName()方法

· doucment.getElementById() 


绘制图片

drawImage(image,x,y)

 img.onload = function(){
                ctx.drawImage(img,0,0);
                ctx.lineWidth=5;
                ctx.beginPath();
                ctx.moveTo(100,50);
                ctx.quadraticCurveTo(70,140,170,120);
                ctx.stroke();


                ctx.lineWidth = 1;
                ctx.setLineDash([4,2]);
                ctx.strokeRect(20,8,200,180);
                ctx.beginPath();
                ctx.moveTo(65,110);
                ctx.lineTo(100,110);
                ctx.moveTo(100,140);
                ctx.lineTo(100,110);
                ctx.closePath();
                ctx.stroke();

缩放Scalling

drawImage(image,x,y,width,height)

img.onload = function () {
                for(var i=0; i<6; i++){
                    for(var j=0;j<6;j++){
                        ctx.drawImage(img,j*50,i*50,50,50);
                    }
                }
            }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值