文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用canvas怎么制作一个海报

2023-06-09 13:31

关注

使用canvas怎么制作一个海报?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<canvas id="myCanvas" width="750" height="1200" style="border:1px solid #d3d3d3;background:#ffffff;"></canvas>

dom节点很简单,生成个canvas标签随意写点属性就可以了~

var canvas = document.getElementById("myCanvas");   //获取canvas节点function imageToCanvas(canvas,url1,url2,code) {      //传入canvas节点 背景图url1  头像url2 二维码code    var ctx = canvas.getContext("2d");      var img1 = new Image();                                   img1.src = url1;                     //前面的不解释了,生成个图片    img1.onload = function(){         ctx.drawImage(img1,0,0);              //当图片加载完成后 赋到画布上 从0 0 开始。        var img2 = new Image();         img2.src = url2;         img2.onload = function(){          ctx.save();                            //保存当前画布状态          ctx.arc(374, 134, 44, 0, 2 * Math.PI);    //剪切操作 将正方形的头像切成圆的          // 从画布上裁剪出这个圆形          ctx.clip();                             //进行裁剪          ctx.drawImage(img2, 330, 90, 88, 88);   //放入img2 在330 90坐标处     大小 88          ctx.restore();                           //释放画布状态          ctx.font="28px Arial";          ctx.textAlign="center";          ctx.fillStyle ='#FFFFFF';               //前面是设置文字 属性设为居中          ctx.fillText("你叫神马名字",375,220);     //文字 这里是写死的 实际中多传个参数就ok          var img3 = new Image();          img3.src = code;          img3.onload = function() {              ctx.drawImage(img3,136,554,478,478);      //同理加图像              var imgCode = convertCanvasToImage(canvas);    //将图片转为base64              console.log(imgCode.getAttribute('src'))          }         }    }}imageToCanvas(canvas,"1.png",'3.jpeg','code.png');            //初始化function convertCanvasToImage(canvas) {    var image = new Image();     image.src = canvas.toDataURL("image/png");            //canvas转化为img    return image;}

看完上述内容,你们掌握使用canvas怎么制作一个海报的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯