canvas绘制图片详解

创建对象的方式
< script >
    var  canvas =  document . getElementById ( "canvas" );
    var  ctx = canvas . getContext ( "2d" );

    //1
    var  img1= document . createElement ( "img" );
    img1 . src = "../ 图片 /beauty/55caf02db4861980.jpg!200x200.jpg" ;
    document . body . appendChild ( img1 );

    //2
    var  img2= new  Image ();
    img2 . src = "../ 图片 /beauty/55caf02db4861980.jpg!200x200.jpg" ;
    document . body . appendChild ( img2 );
</ script >

将图片放在canvas画布上:drawImage方法(3个参数的使用)
< script >
    var  canvas =  document . getElementById ( "canvas" );
    var  ctx = canvas . getContext ( "2d" );
    //1 、准备图片对象
    var  img= new  Image ();
    img . src = "../ 图片 /beauty/55caf02db4861980.jpg!200x200.jpg" ;

    //2 、将图片绘制到画布中 --> 在图片加载完成之后才能将它绘制到画布中
    img .onload = function (){
        //drawImage 方法 3 个参数版本:
        //  第一个参数表示图片对象
        //  2/3 个参数表示图片的左上角顶点位于画布的坐标
        ctx . drawImage ( img , 0 , 0 );
    }
</ script >

将图片等比例放在canvas画布中: drawImage方法 五个参数

< script >
    var  canvas =  document . getElementById ( "canvas" );
    var  ctx = canvas . getContext ( "2d" );

    //1 、准备图片对象
    var  img= new  Image ();
    img . src = "../ 图片 /beauty/ChMkJlbKwhGIFzaNABRkaCE3DbUAALGiQJ0DzMAFGSA099.jpg" ;

    //2 、将图片绘制到画布中 --> 在图片加载完成之后才能将它绘制到画布中
    img .onload = function (){
        // 将它等比例缩放在画布中,画布的宽度为 500 像素
        //--> 需要计算出图片位于画布中的高度
        //--> 公式:图片原始宽度 / 原始高度   =  画布宽度 / 画布高度
        ///----> 推导出:画布高度 = 画布宽度 /( 图片原始宽度 / 原始高度 )
        var  width = 500 ;
        var  height = width / ( img . width /img . height );
        ctx . drawImage ( img , 0 , 0 , width , height );
    }
</ script >

drawImage方法九个参数的调用
< script >
    var  canvas =  document . getElementById ( "canvas" );
    var  ctx = canvas . getContext ( "2d" );

    var  img= new  Image ();
    img . src = "../ 图片 /beauty/2016110204_670x419.jpg" ;

    // 图片中的矩形区域的顶点 280,80
    // 矩形区域的宽高: 60,60
    img .onload = function (){
        //drawImage 9 个参数
        // 第一个参数:图片对象
        // 2/3 个参数:矩形区域的顶点坐标
        // 4/5 个参数:矩形区域的宽高
        // 6/7 个参数:矩形区域位于画布的顶点坐标
        // 8/9 个参数:矩形区域位于画布中的宽高

        ctx . drawImage ( img , 280 , 80 , 60 , 60 , 300 , 300 , 60 * 5 , 60 * 5 );
    }
</ script >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITzhongzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值