canvas的用法

首先创建canvas对象或者获取canvas对象,再设置画布大小,然后创建var ctx=x.getContext("2d");然后利用ctx来获取里面的属性和方

法。

<canvas id="canvas"></canvas>
 <img id="img1" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;z-index:90" />
 

1获取canvas对象

 var canvas1=document.getElementById("canvas");

2,设置画布宽高

   var  width=$(window).width();

   var height=$(window).height();

    canvas1.width=width;

    canvas1.height=height;

3.创建ctx 

var ctx=canvas1.getContext("2d");

一,....在画布上写文字

function fillText(text,left,top){

   ctx.font="30px 微软雅黑";

  ctx.fillStyle="#fff";

  ctx.fillText(text,left,top)

}

调用       fillText("文字信息名字",width/2-15,height/10+5);  //这里的width和height是上面定义的屏幕的宽高

二,....在画布上放图片

function drawImg(src,left,top,width,height,fun){

  var img=new Image();

  img.οnlοad=function(){

      ctx.drawImage(img11,left,top,width,height);

      fun&&fun();

  };

    img.src =src; 

}

调用      drawImg("images/a.jpg",width/2-15,height/10+5,function(){

                    document.getElementById("#img1").src=canvas1.toDataUrl(); //这里把这个绘图,转化为可以长按收藏的图片,可以看到他的src

}); 

如果你需要把几张图合成一个海报,可以这样写

       var canvas = document.createElement('canvas');
        var ctx = canvas.getContext('2d');
        
         canvas.width =750 ;
         canvas.height =1624 ;

//需要几个图就调用几次drawImg。

drawImg('/static/api/img/share/posterbg.png',0,0,750,1624,()=>{
                drawImg('/static/api/img/share/logoimg.png',43,30,120,120,()=>{
                   drawImg('/static/api/img/share/qrBase64.png',200,1090,367,367,()=>{
                        // console.log(canvas.toDataURL())
                    })
                })
            })

注意如果是vue的项目,this的指向问题。

参考这个文章https://blog.csdn.net/qq_33769914/article/details/119930624

三---画圆形的图片(首先画一个圆形,然后用图片填充)

function  circleImg(src,fn) {
    
    var canvas2=document.createElement("canvas")
    var ctx2= canvas2.getContext('2d');
    var img = new Image();
    img.οnlοad=function(){
     
    var pattern = ctx.createPattern(img, "no-repeat");
    // 绘制一个圆
    ctx2.arc(50, 50, 60, 0, 2 * Math.PI);
  // ctx.drawImage(src,left, top, width ,height);  
    // 填充绘制的圆
    ctx2.fillStyle = pattern;
    ctx2.fill();    
ctx.drawImage(canvas2,width/8,14)  //width/8-左边距,14上边距
fn&&fn();
    }
    img.src = src;
    // 创建图片纹理
        
}

circleImg("images/baby.jpg",function(){    
//            document.getElementById("img1").src=canvas.toDataURL();                       
//                 }); //头像
       
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是canvas的基本使用方法: 1. 创建canvas元素:首先在HTML页面中创建一个canvas元素,可以使用标签`<canvas>`或JavaScript代码动态创建,例如: ```html <canvas id="myCanvas"></canvas> ``` ```javascript const canvas = document.createElement('canvas'); canvas.id = 'myCanvas'; document.body.appendChild(canvas); ``` 2. 获取canvas上下文:使用JavaScript代码获取canvas元素的上下文(context),可以通过上下文对象对canvas进行绘制,例如: ```javascript const canvas = document.getElementById('myCanvas'); const context = canvas.getContext('2d'); ``` 上面的代码获取了一个2D上下文对象,可以使用该对象进行2D绘图。 3. 绘制图形:使用canvas的上下文对象进行绘制,可以绘制直线、矩形、圆形、文本等各种图形,例如: ```javascript const canvas = document.getElementById('myCanvas'); const context = canvas.getContext('2d'); context.fillStyle = 'red'; // 设置填充颜色 context.fillRect(10, 10, 100, 100); // 绘制矩形 context.strokeStyle = 'green'; // 设置线条颜色 context.lineWidth = 5; // 设置线条宽度 context.strokeRect(20, 20, 80, 80); // 绘制矩形边框 context.beginPath(); // 开始路径 context.arc(60, 60, 30, 0, Math.PI * 2); // 绘制圆形 context.closePath(); // 结束路径 context.fill(); // 填充圆形 context.stroke(); // 绘制圆形边框 context.font = '20px Arial'; // 设置字体 context.fillStyle = 'blue'; // 设置文本颜色 context.fillText('Hello, world!', 20, 100); // 绘制文本 ``` 上面的代码绘制了一个红色的矩形,绿色的矩形边框,蓝色的文本和一个填充和边框都为黑色的圆形。 4. 清空canvas:使用canvas的上下文对象可以清空canvas,可以使用`clearRect()`方法清空整个canvas,或者使用`fillRect()`或`strokeRect()`方法覆盖原有图形,例如: ```javascript const canvas = document.getElementById('myCanvas'); const context = canvas.getContext('2d'); context.clearRect(0, 0, canvas.width, canvas.height); // 清空整个canvas context.fillRect(0, 0, canvas.width, canvas.height); // 使用黑色矩形覆盖原有图形 ``` 上面的代码清空了整个canvas,并使用黑色矩形覆盖原有图形。 以上是canvas的基本使用方法,希望能够帮助您入门canvas绘图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值