现在海报已经是很常见的,毕竟用来做引流推广都是非常方便的,所以我们可以使用Canvas快速绘制海报,下面是我写的一个实例。

<!DOCTYPE html>
<html>
<head><title>Canvas</title><meta charset="utf-8">
</head>
<style type="text/css">*{margin:0;padding:0;}#myCanvas{background: #eee;margin:50px auto;display: block;}
</style>
<body><canvas id="myCanvas"></canvas>
</body>
<script type="text/javascript">var c = document.getElementById("myCanvas"); // 使用id来寻找canvas元素var cxt = c.getContext("2d"); // 创建context对象// 设置myCanvas的宽高c.width = 320; //设置myCanvas的宽c.height = 580; //设置myCanvas的高// 绘制一个矩形,用来做全局背景颜色cxt.fillStyle = "#fff"; // fillStyle方法将其染成红色cxt.fillRect(0,0,c.width,c.height); // fillRect方法是创建一个矩形,x坐标、y坐标、宽度、高度// 把图片绘制到myCanvasvar img = new Image()img.src = "imgdemo.jpg" // 图片路径// 为了防止图片还没加载完成就执行drawImage,需要延迟10ms再执行drawImagesetTimeout(function(){cxt.drawImage(img,20,20,280,280);},10)// 绘制商品标题,自动换行cxt.fillStyle="#333";cxt.font = "15px bold 黑体";var str = "火山泥岩洗面奶男士专用控油祛痘去黑头去油除螨虫学生补水洁面乳【包邮】"cxt.textBaseline = "middle";cxt.textAlign = "left";var lineWidth = 0;var canvasWidth = 280;//一行文字占用的宽度var initHeight=320;//绘制字体距离canvas顶部初始的高度var lastSubStrIndex= 0; //每次开始截取的字符串的索引for(let i=0;i<str.length;i++){ lineWidth+=cxt.measureText(str[i]).width; if(lineWidth>canvasWidth){  cxt.fillText(str.substring(lastSubStrIndex,i),20,initHeight);//绘制截取部分initHeight+=20; //20为字体的高度lineWidth=0;lastSubStrIndex=i;} if(i==str.length-1){ //绘制剩余部分cxt.fillText(str.substring(lastSubStrIndex,i+1),20,initHeight);}}// 绘制券后价底部背景色cxt.fillStyle = "#ff0036"; // fillStyle方法将其染成红色cxt.fillRect(220,360,80,40); // fillRect方法是创建一个矩形,x坐标、y坐标、宽度、高度// 绘制券底部背景色cxt.fillStyle = "#ff0036"; // fillStyle方法将其染成红色cxt.fillRect(20,360,150,40); // fillRect方法是创建一个矩形,x坐标、y坐标、宽度、高度// 绘制价格cxt.fillStyle="#fff";cxt.font = "normal bold 20px 黑体";var str_price = "券后价 ¥32.90"cxt.textBaseline = "middle";cxt.textAlign = "left";cxt.fillText(str_price,26,380);// 绘制券面值cxt.fillStyle="#fff";cxt.font = "normal bold 15px 黑体";var str_quan = "券 ¥9.90"cxt.textBaseline = "middle";cxt.textAlign = "left";cxt.fillText(str_quan,230,380);// 绘制二维码var qrcode = new Image()qrcode.src = "qrcode.png" // 二维码图片路径// 为了防止图片还没加载完成就执行drawImage,需要延迟10ms再执行drawImagesetTimeout(function(){cxt.drawImage(qrcode,95,420,130,130);},10)</script>
</html>

生成效果

Author:TANKING
Date:2020-08-28
Web:http://www.likeyun.cn/
WeChat:face6009

Html5 Canvas生成淘宝客海报,生成手机海报相关推荐

  1. 根据淘宝商品 num_iid 批量生成淘宝客链接的 PHP 函数

    根据淘宝商品 num_iid 批量生成淘宝客(什么是淘宝客?)链接的 PHP 文件内容如下. 淘宝 API 有调用次数限制,一次 API 调用,可以最大返回40个商品的淘宝客链接,因此,在本函数内,如 ...

  2. php实现微信公众号生成淘宝客推广海报(正则匹配淘宝联盟)

    现在很多人做淘宝客,包括我.做淘宝客一个月也可以赚个一两千零用钱,但是"淘宝联盟"APP生成的带二维码宣传图在微信是被屏蔽的,无法打开的! 例如: 所以很多做淘客的,开始开发自己的 ...

  3. php实现微信公众号生成淘宝客推广海报(正则匹配淘宝联盟) 1

    现在很多人做淘宝客,包括我.做淘宝客一个月也可以赚个一两千零用钱,但是"淘宝联盟"APP生成的带二维码宣传图在微信是被屏蔽的,无法打开的! 例如: 所以很多做淘客的,开始开发自己的 ...

  4. 使用 Python 全栈打造淘宝客微信机器人

    1 .前言 1.1.什么是淘宝客 相信很多人都听过或者接触过各类导购 APP.QQ 群.微信群分享一些淘宝商品的优惠券或是其他的优惠信息. 用户可以在这些渠道上获取到相较于从淘宝平台搜索出来的商品更加 ...

  5. 双11淘宝客月入过万,淘客手机推广技巧

    以前做个人网站的时候就研究过淘宝客,那时候最高一个月赚过四万多块,后来因为百度的封杀,就放弃了,从13年开始就转向做移动营销去了.那个时候主要做微商,通过软件群发和加人效果也很明显,但是15年就急转直 ...

  6. Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名

    原文:Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名 源代码下载地址:http://www.zuidaima.com/share/1550463397874 ...

  7. Python入门--爬取淘宝评论并生成词云

    Python爬取淘宝评论并生成词云 最新修改于2021/04/01 所需相关Python第三方库(目前最新版本即可) 推荐使用Anaconda,其使用十分方便.快捷. requests库 json库 ...

  8. 案例实战:采用redis生成淘宝商品的全局id

    案例实战:采用redis生成淘宝商品的全局id 一.为什么分布式系统需要全局唯一id ? 在互联网系统中,并发越大的系统,数据就越大,数据越大就越需要分布式,而大量的分布式数据就越需要唯一标识来识别它 ...

  9. 新版花花省淘宝客V6聚合优惠券系统具体功能介绍

    先附上思维导图 花花省淘宝客V6 首页 走路赚(额外收费) 手机计步达到一定步数后可以通过看广告的形式获得积分 包含轮播图.小宫格菜单.系统公告.搜索.签到 淘宝.京东.拼多多.唯品会.抖音商品均通过 ...

最新文章

  1. php 字符串转时间戳_php如何将时间字符串转换为时间戳
  2. css修改select下拉列表的默认样式
  3. 如何用指针访问opencv cv::Mat数据?ptr<uchar>()
  4. axios发送自定义请求头的跨域解决
  5. 基于线性调频(LFM)信号分数阶傅里叶变换的多径时延估计
  6. mysql忘记密码怎末版_mysql忘记密码怎么办
  7. 大数据学习笔记49:Flume Sinks(Flume接收器)
  8. android的Service
  9. 电脑重装系统Win11时间同步失败怎么办
  10. python commands用法_python之commands模块(执行Linux Shell命令)
  11. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)
  12. 新宠混血儿诞生记--Java+PHP整合
  13. 如何把几张图片合并成一张图片?
  14. 西瓜书学习之绪论部分
  15. 网页打开慢,甚至突然打不开?图片刷新不出来?多半是DNS的问题!
  16. ATL SERVER
  17. 百度无人驾驶网约车起步价16元;美团回应共享单车涨价;谷歌公开抨击苹果阻碍跨平台交流|极客头条
  18. 从实例来看DAO:权力分散的伟大尝试
  19. 什么是VOLTE(2)
  20. word 如何设置页码?分页?分节?

热门文章

  1. FastDFS介绍及安装教程
  2. JS(JavaScript)基本语法以及其它语法
  3. 【图像-关键点json标签】的数据集生成器
  4. 一文读懂车联网关键技术
  5. 计算机重新启动白屏是怎么回事,电脑白屏是怎么回事?是系统的原因还是
  6. 用keytool创建Keystore和Trustsotre文件
  7. 大数据应用项目创新大赛_创新创业大赛聚焦大数据应用 15个项目进入决赛
  8. Pointnet2_pytorch代码复现
  9. 软著所需要的游戏素材截图
  10. 1613-3-傅溥衍 总结《2016年11月18日》【连续四十九天总结】